2 messages in org.openoffice.fr.prog[prog] Selectionner et activer une fe...
FromSent OnAttachments
Guillaume AudiracMay 17, 2005 6:36 am 
Laurent GodardMay 17, 2005 7:43 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] Selectionner et activer une feuille dans CalcActions...
From:Guillaume Audirac (guil@philips.com)
Date:May 17, 2005 6:36:15 am
List:org.openoffice.fr.prog

Bonjour,

Je cherche à activer une feuille à partir de son nom, de telle sorte que cette feuille puisse être identifiée par la fonction "ThisComponent.currentcontroller.activeSheet". Cette fonction m'est utile car elle me permet de créer un bouton dans une feuille afin d'éxecuter une macro qui stocke des valeurs dans la feuille où se trouve le bouton. Bien sûr, je dispose de plusieurs feuilles avec des boutons/macros différents, et j'aimerais maintenant éxecuter automatiquement ces macros les unes à la suite des autres.

Ce qui suit ne semble pas fonctionner, je doute qu'il active vraiment les feuilles :

' Routine pour exécuter les macros les unes après les autres Sub Run_All_Tests() Dim TheSheets As Object Dim MyCurrentSheet As Object

TheSheets = ThisComponent.Sheets()

MyCurrentSheet = TheSheets.getByName("Sheet_name_1") Sub_routine_1() MyCurrentSheet = TheSheets.getByName("Sheet_name_2") Sub_routine_2() [...] End Sub

' Macro exécutée dans la feuille 1 "Sheet_name_1" Sub Sub_routine_1() Dim oDocument As Object Dim MySheet As Object oDocument = ThisComponent MySheet = oDocument.currentController.activeSheet [...] End Sub

' Macro exécutée dans la feuille 2 "Sheet_name_2" Sub Sub_routine_2() Dim oDocument As Object Dim MySheet As Object oDocument = ThisComponent MySheet = oDocument.currentController.activeSheet [...] End Sub

Merci beaucoup. Cordialement, Guillaume

Guillaume Audirac

----- Message from Laurent Godard <lgod@indesko.com> on Tue, 26 Apr 2005 18:03:37 +0200 ----- To: pr@fr.openoffice.org Subject: Re: [prog] Selection de la feuille Calc par defaut

Bonjour Guillaume,

Je sais sélectionner une feuille par son petit nom avec : MaFeuille = ThisComponent.Sheets().getByName("Oeuvres") Malheureusement, je n'arrive pas à sélectionner la feuille courante, sans l'identifier par son nom. Connaîtriez-vous un moyen de faire ça ? Ou bien encore, de récupérer le nom de la feuille courante ?

FeuilleActive = thisComponent.currentcontroller.activeSheet

FeuilleActive.name pour son nom

Ca me serait bien utile puisque j'utilise un bouton pour lancer une macro qui remplit des cases de la feuille où se trouve le bouton. Et j'utilise la même macro quelque-soit le nom de la feuille.

pour celà il y a un astuce dans la sub appelée, ajoute un argument sub MonClique(evt) .... end sub

evt est un objet evenement traduisant l'appel evt.source te donne l'objet appelant

Merci d'avance pour votre aide.

N'hesites pas si tu as des questions

Cordialement

Laurent