Page 1 sur 1

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

MessagePublié: 24 Juin 2019 10: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   AgrandirRéduire
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   AgrandirRéduire
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

MessagePublié: 24 Juin 2019 11: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/viewtopic.php?f=15&t=11075

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

MessagePublié: 24 Juin 2019 13: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   AgrandirRéduire
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