OVH Cloud OVH Cloud

Barre d'outil

9 réponses
Avatar
Fred64
Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer le
nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui est
affectée à ce bouton récupère le nom du bouton et l'affecte à une variable.
J'espère avoir été clair.
Merci d'avance.

9 réponses

Avatar
JLuc
*Bonjour Fred64*,
Dans un module standard, tu declare une variable globale
"NomDuBoutonClique" et dans le code de chaque bouton, tu lui affecte le
nom de ton bouton :
Sub Command1_Click()
NomDuBoutonClique = "Référenciel"
...
End Sub

Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer le
nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui est
affectée à ce bouton récupère le nom du bouton et l'affecte à une variable.
J'espère avoir été clair.
Merci d'avance.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Fred64
Merci Jluc,
C'était justement pour éviter ça que je voulais qu'il récupère son nom. En
fait j'ai des centaines de boutons, donc j'aurai voulu utiliser le même code
pour tous.

"JLuc" a écrit dans le message de news:

*Bonjour Fred64*,
Dans un module standard, tu declare une variable globale
"NomDuBoutonClique" et dans le code de chaque bouton, tu lui affecte le
nom de ton bouton :
Sub Command1_Click()
NomDuBoutonClique = "Référenciel"
...
End Sub

Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
JLuc
*Bonjour Fred64*,
Dans ce cas, tu peux, peut etre, rechercher du cote des modules de
classes !!?!!
Un lien : http://xlwiki.free.fr/wiki/wakka.php?wiki=ModulesDeClasse

Merci Jluc,
C'était justement pour éviter ça que je voulais qu'il récupère son nom. En
fait j'ai des centaines de boutons, donc j'aurai voulu utiliser le même code
pour tous.

"JLuc" a écrit dans le message de news:

*Bonjour Fred64*,
Dans un module standard, tu declare une variable globale
"NomDuBoutonClique" et dans le code de chaque bouton, tu lui affecte le nom
de ton bouton :
Sub Command1_Click()
NomDuBoutonClique = "Référenciel"
...
End Sub

Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.


-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



Avatar
Fred64
Je n'ai jamais utilisé les modules de classe, comment faire dans mon cas ?

"JLuc" a écrit dans le message de news:

*Bonjour Fred64*,
Dans ce cas, tu peux, peut etre, rechercher du cote des modules de classes
!!?!!
Un lien : http://xlwiki.free.fr/wiki/wakka.php?wiki=ModulesDeClasse

Merci Jluc,
C'était justement pour éviter ça que je voulais qu'il récupère son nom.
En fait j'ai des centaines de boutons, donc j'aurai voulu utiliser le
même code pour tous.

"JLuc" a écrit dans le message de news:

*Bonjour Fred64*,
Dans un module standard, tu declare une variable globale
"NomDuBoutonClique" et dans le code de chaque bouton, tu lui affecte le
nom de ton bouton :
Sub Command1_Click()
NomDuBoutonClique = "Référenciel"
...
End Sub

Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai
récupérer le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.


-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O







Avatar
Michel Pierron
Bonjour Fred64;
Fais un test dans ta procédure avec avec:
MsgBox Application.Caller(2) & " / " & Application.Caller(1)

MP


"Fred64" a écrit dans le message de news:
O5f%
Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.



Avatar
JLuc
*Bonjour Fred64*,

Je n'ai jamais utilisé les modules de classe, comment faire dans mon cas ?
Je t'avoue que je ne sais pas trop. Comment sont nommés tes boutons ?

Apparement, il faut qu'ils aient le même départ + un numéro (pour une
boucle). Ensuite il faut faire une boucle sur tous les controls de ta
barre d'outil pour les affecter a un tableau de la classe. Ensuite, au
lieu d'afficher un msgbox, il faudra initialiser ta variable avec le
"caption" (C'est ce qui est affiche sur le bouton). Je pense qu'ensuite
tu pourra utiliser ta variable comme tu le voulais au départ

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Fred64
Bonjour Michel,
Ca me donne la position de la macro dans le sous menu, mais pas son nom.

"Michel Pierron" a écrit dans le message de news:

Bonjour Fred64;
Fais un test dans ta procédure avec avec:
MsgBox Application.Caller(2) & " / " & Application.Caller(1)

MP


"Fred64" a écrit dans le message de news:
O5f%
Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.







Avatar
Michel Pierron
Re Fred64;
Bah, c'est sans importance pour ta procédure unique; tu fais un Select Case
sur la position et tu exécutes la procédure qui te convient en fonction du
numéro retourné par le click sur le bouton.
Sinon, tu renseignes le paramètre Parameter du bouton avec un nom sécifique
et tu le récupères dans ta procédure unique avec: MsgBox
Application.CommandBars.ActionControl .Parameter

MP


"Fred64" a écrit dans le message de news:

Bonjour Michel,
Ca me donne la position de la macro dans le sous menu, mais pas son nom.

"Michel Pierron" a écrit dans le message de news:

Bonjour Fred64;
Fais un test dans ta procédure avec avec:
MsgBox Application.Caller(2) & " / " & Application.Caller(1)

MP


"Fred64" a écrit dans le message de news:
O5f%
Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.











Avatar
Fred64
C'est à dire 1/1 ou un 1/2, cela suffirait si ca m'affichait la hierarchie.
En fait j'ai une barre d'outil qui a un sous menu qui a un sous menu qui
contient les boutons:

C1 Tralala
C1.1 Azerty
C1.1.1 Bouton 1(qui contient le texte a copier)
C1.1.2 Bouton 2
.....
C1.2 Uiop
C1.2.1 Bouton
.....
C2 Youpi
C2.1 ........
C2.1.1 ..........

1er niveau > sous menu: C1, C2, ...
2eme niveau > sous sous menu: C1.1, C1.2, ....
3eme niveau > Boutons: C1.1.1, C1.1.2, ....

Donc si la macro arrive à me donner le "C1.1.1" en fonction du niveau , ça
peut etre une solution. Mais comment faire ?
Fred


"Fred64" a écrit dans le message de news:

Bonjour Michel,
Ca me donne la position de la macro dans le sous menu, mais pas son nom.

"Michel Pierron" a écrit dans le message de news:

Bonjour Fred64;
Fais un test dans ta procédure avec avec:
MsgBox Application.Caller(2) & " / " & Application.Caller(1)

MP


"Fred64" a écrit dans le message de news:
O5f%
Bonjour,
J'ai réalisé une barre d'outil personnalisée et je souhaiterai récupérer
le nom du bouton qui vient d'être cliqué par VBA.
Exemple: l'utilisateur clique sur le bouton "Référentiel", la macro qui
est affectée à ce bouton récupère le nom du bouton et l'affecte à une
variable.
J'espère avoir été clair.
Merci d'avance.