Page 1 sur 1

[Résolu][Calc]Aller à 1 cellule spécifique en fin de script

Publié : 24 juin 2019 09:06
par fneck
Bonjour,
J'aimerais faire en sorte que cette macro ci-dessous s'achève en se plaçant en cellule A3 de la Feuille "Données".

Code : Tout sélectionner

Global Mondoc As Object
Global LesFeuilles As Object

Global Fimport as object
Global Fdonnees as object
Global FIntuiz as object
Global Fmajo as object
Global Fsynthese as object
Global Fexercice as object

Global kligneFin as long

Sub affecter

'macro d'affectation des variables de portée générale

	Mondoc = Thiscomponent
	Lesfeuilles = Mondoc.sheets
		
	Fimport = Lesfeuilles.getByName("ImportCSV")	
	Fdonnees = Lesfeuilles.getByName("Données")
	FIntuiz = Lesfeuilles.getByName("infolégale")
	kligneFin = DerniereLigne(Fdonnees)	

'on affiche la feuille Données
	Fdonnees.isvisible = true
	Mondoc.CurrentController.ActiveSheet = Fdonnees
	MonDoc.CurrentController.Zoomvalue = 85

End Sub

[b]sub BoutonDonnees
	 	
	Mondoc.CurrentController.ActiveSheet.isvisible = true
	Mondoc.CurrentController.ActiveSheet = FDonnees
	MonDoc.CurrentController.Zoomvalue = 85	

End Sub
[/b]
Le "Bouton Données" correspond au retour au menu principal situé sur la feuille "Données" de mon classeur. Ce bouton se trouve sur plusieurs feuilles.
J'ai trouvé ce code mais je ne parviens pas à l'intégrer au mien.

Code : Tout sélectionner

 dim document   as object
   dim dispatcher as object
   rem ----------------------------------------------------------------------
   rem get access to the document
   document   = ThisComponent.CurrentController.Frame
   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    ' Sélection d'une cellule pour que cela fasse plus propre
   args1(1).Value = "$A$3:$A$3"
   dispatcher.executeDispatch(document, ".uno:GoToCell", "", 1, args1())
Merci de votre aide

Re: [Calc]Aller dans 1 cellule spécifique en fin de macro

Publié : 24 juin 2019 10:05
par Dude
Arrête l'enregistreur de macro.
Image
et qui fait l'objet d'un suprême de code : https://forum.openoffice.org/fr/forum/v ... 15&t=11075

Re: [Calc]Aller dans 1 cellule spécifique en fin de macro

Publié : 24 juin 2019 12:43
par fneck
Merci Dude.

Si je pose la question c'est que je ne sais pas comment transposer tel ou tel code. Je cherche les infos pourtant avant de demander. la preuve en est, les codes que je trouve proviennent bien de mes recherches sur le forum.
En tous cas, après plusieurs tentatives, ton code issu des suprêmes fonctionne comme ça:

Code : Tout sélectionner

Global Mondoc As Object
Global LesFeuilles As Object

Global Fimport as object
Global Fdonnees as object
Global FIntuiz as object
Global Fmajo as object
Global Fsynthese as object
Global Fexercice as object

Global kligneFin as long

Dim monDocument As Object, monControleur As Object
Dim maCellule As object
Dim maFeuille As object

Sub affecter

'macro d'affectation des variables de portée générale

	Mondoc = Thiscomponent
	Lesfeuilles = Mondoc.sheets
	
	Fimport = Lesfeuilles.getByName("ImportCSV")	
	Fdonnees = Lesfeuilles.getByName("Données")
	FIntuiz = Lesfeuilles.getByName("infolégale")
	kligneFin = DerniereLigne(Fdonnees)	

'on affiche la feuille Données
	Fdonnees.isvisible = true
	Mondoc.CurrentController.ActiveSheet = Fdonnees
	MonDoc.CurrentController.Zoomvalue = 85

End Sub

sub BoutonDonnees
	 	
	Mondoc.CurrentController.ActiveSheet.isvisible = true
	Mondoc.CurrentController.ActiveSheet = FDonnees
	MonDoc.CurrentController.Zoomvalue = 85
    monDocument = ThisComponent
    monControleur = monDocument.CurrentController
    monControleur.activeSheet = monDocument.Sheets(7)
    maFeuille = monControleur.ActiveSheet
    maCellule = maFeuille.getCellRangeByName("A3")
    monControleur.select(maCellule)
 	


End sub
.
Merci de ton aide