Barre d'outil : "confusion" de lancement de macro

Le
Ben
Bonjour,

J'ai créé une barre d'outil qui lance des fonctions.

Le problème est que si je lance plusieurs feuille Excel, la barre
d'outil exécute les fonctions d'une des feuilles (la 1ère lancés il me
semble) et non pas la fonction de la feuille courante.

J'aimerai que la barre exécute la macro de la feuille courante, et
seulement celle de la feuille courante, même si d'autres feuilles, lancé
avant ou non, ont des macros du même nom

Le problème viens sûrement du fait que le bouton lance la macro
"MonClasseur!MaMacro". Il faudrait une référence "dynamique" du style
"la_feuillecourrante!LaMacro"

Est-ce possible ?


Merci d'avance

Ben
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
reno
Le #4395381
Activesheet ?



--
---
Renaud Roualdès
Profite, Vivre c'est cool !!!

___

"Ben" news:461b427d$0$9857$
Bonjour,

J'ai créé une barre d'outil qui lance des fonctions.

Le problème est que si je lance plusieurs feuille Excel, la barre d'outil
exécute les fonctions d'une des feuilles (la 1ère lancés il me semble) et
non pas la fonction de la feuille courante.

J'aimerai que la barre exécute la macro de la feuille courante, et
seulement celle de la feuille courante, même si d'autres feuilles, lancé
avant ou non, ont des macros du même nom

Le problème viens sûrement du fait que le bouton lance la macro
"MonClasseur!MaMacro". Il faudrait une référence "dynamique" du style
"la_feuillecourrante!LaMacro"

Est-ce possible ?


Merci d'avance

Ben


Ben
Le #4395291
Activesheet ?


Bonne idée. Mais excel me modifie l'affectation de macro.
Si je met : activeSheet!MaMacro
Il transforme en "LeClasseur.xls!Activesheet.MaMacro" forcément, ça ne
marche pas.

Il faudrait effectivement pouvoir intégrer du VBA à cette appel... le
"!" semble indiquer que c'est le cas, mais vu la modification
automatique, j'ai bien peur de devoir absolument passer une chaîne de
caractères. :(

--
Ben

Ben
Le #4395281
Pour ceux que ça intéresse, voici une solution
Redéfinir le nom de l'action lorsque l'on repasse à la feuille courante,
soit :

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Application.CommandBars("MaBar").Controls("MonControl").OnAction =
"MonAction"
End Sub

Je trouve ça un peu dommage de devoir faire ça :(

--
Ben

Bonjour,

J'ai créé une barre d'outil qui lance des fonctions.

Le problème est que si je lance plusieurs feuille Excel, la barre
d'outil exécute les fonctions d'une des feuilles (la 1ère lancés il me
semble) et non pas la fonction de la feuille courante.

J'aimerai que la barre exécute la macro de la feuille courante, et
seulement celle de la feuille courante, même si d'autres feuilles, lancé
avant ou non, ont des macros du même nom

Le problème viens sûrement du fait que le bouton lance la macro
"MonClasseur!MaMacro". Il faudrait une référence "dynamique" du style
"la_feuillecourrante!LaMacro"

Est-ce possible ?


Merci d'avance

Ben


Publicité
Poster une réponse
Anonyme