OVH Cloud OVH Cloud

menu(bis)

4 réponses
Avatar
ced
resalut,

tu n'a pas compris exactement mon probl=E8me. En fait je=20
veux pouvoir changer l'attribut "caption" de n'importe=20
quels de mes boutons ( m=EAme sur ceux que je n'ai pas=20
cliqu=E9s ). Je ne sais pas comment faire pour connaitre le=20
nom de mes bouton pour les appeler.


Bonsoir,

Introduit le changement de la propri=E9t=E9 Caption du bouton=20
appelant (accessible
par 'CommandBars.ActionControl') dans la proc=E9dure qui=20
lui est affect=E9e. Par
exemple, pour le bouton "Message3" :

Sub Message3()
With CommandBars.ActionControl
If .Caption =3D "Cliqu=E9" & .Index Then _
.Caption =3D "Message" & .Index Else _
.Caption =3D "Cliqu=E9" & .Index
End With
'le reste de ton code
End Sub

FS
--=20
Fr=E9d=E9ric Sigonneau [MVP Excel - n=E9 un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, =E9vitez ma bal !

ced a =E9crit :
>=20
> salut,
>=20
> j'ai cr=E9=E9 un menu avec des boutons de cette fa=E7on
>=20
> Set aMenu =3D Application.CommandBars(1).Controls.Add
> (Type:=3DmsoControlPopup, Temporary:=3DTrue)
> aMenu.Caption =3D "MonMenu"
>=20
> With aMenu
>=20
> Set Bouton =3D .Controls.Add(msoControlButton)
> With Bouton
> .OnAction =3D "Message1"
> .Caption =3D "Message1"
> End With
>=20
> Set Bouton =3D .Controls.Add(msoControlButton)
> With Bouton
> .OnAction =3D "Message2"
> .Caption =3D "Message2"
> End With
>=20
> Set Bouton =3D .Controls.Add(msoControlButton)
> With Bouton
> .OnAction =3D "Message3"
> .Caption =3D "Message3"
> End With
>=20
> Set Bouton =3D .Controls.Add(msoControlButton)
> With Bouton
> .OnAction =3D "Message4"
> .Caption =3D "Message4"
> End With
>=20
> ...
>=20
> je voudrais que lorsque j'appuye sur l'un des bouton, je
> change la valeur de "caption". Le probl=E8me c'est que je
> ne sais pas comment selectionner l'un des boutons pour
> pouvoir ensuite changer l'attribut "caption", comment
> faut-il faire ?

.

4 réponses

Avatar
Clément Marcotte
Dans la fenêtre "Propriétés" de l'environnement de programmation

"ced" a écrit dans le message de
news:05d801c354f8$e73aaa30$
resalut,

tu n'a pas compris exactement mon problème. En fait je
veux pouvoir changer l'attribut "caption" de n'importe
quels de mes boutons ( même sur ceux que je n'ai pas
cliqués ). Je ne sais pas comment faire pour connaitre le
nom de mes bouton pour les appeler.


Bonsoir,

Introduit le changement de la propriété Caption du bouton
appelant (accessible
par 'CommandBars.ActionControl') dans la procédure qui
lui est affectée. Par
exemple, pour le bouton "Message3" :

Sub Message3()
With CommandBars.ActionControl
If .Caption = "Cliqué" & .Index Then _
.Caption = "Message" & .Index Else _
.Caption = "Cliqué" & .Index
End With
'le reste de ton code
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


salut,

j'ai créé un menu avec des boutons de cette façon

Set aMenu = Application.CommandBars(1).Controls.Add
(Type:=msoControlPopup, Temporary:=True)
aMenu.Caption = "MonMenu"

With aMenu

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message1"
.Caption = "Message1"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message2"
.Caption = "Message2"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message3"
.Caption = "Message3"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message4"
.Caption = "Message4"
End With

...

je voudrais que lorsque j'appuye sur l'un des bouton, je
change la valeur de "caption". Le problème c'est que je
ne sais pas comment selectionner l'un des boutons pour
pouvoir ensuite changer l'attribut "caption", comment
faut-il faire ?


.

Avatar
Frédéric Sigonneau
Re,

Deuxième essai (stp, reste dans ce fil si cette proposition ne correspond
toujours pas à ta demande).
Tu crées un menu ("MonMenu"), dans la barre de menu d'Excel, avec 4 commandes.
Tu peux y accéder par leur numéro d'ordre. Par exemple, pour changer, par du
code VBA, la propriété Caption de la première commande ("message1") :

Sub ChangeCaption()
Application.CommandBars(1). _
Controls("MonMenu").Controls(1).Caption = "Changement de caption"
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


resalut,

tu n'a pas compris exactement mon problème. En fait je
veux pouvoir changer l'attribut "caption" de n'importe
quels de mes boutons ( même sur ceux que je n'ai pas
cliqués ). Je ne sais pas comment faire pour connaitre le
nom de mes bouton pour les appeler.

Bonsoir,

Introduit le changement de la propriété Caption du bouton
appelant (accessible
par 'CommandBars.ActionControl') dans la procédure qui
lui est affectée. Par
exemple, pour le bouton "Message3" :

Sub Message3()
With CommandBars.ActionControl
If .Caption = "Cliqué" & .Index Then _
.Caption = "Message" & .Index Else _
.Caption = "Cliqué" & .Index
End With
'le reste de ton code
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


salut,

j'ai créé un menu avec des boutons de cette façon

Set aMenu = Application.CommandBars(1).Controls.Add
(Type:=msoControlPopup, Temporary:=True)
aMenu.Caption = "MonMenu"

With aMenu

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message1"
.Caption = "Message1"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message2"
.Caption = "Message2"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message3"
.Caption = "Message3"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message4"
.Caption = "Message4"
End With

...

je voudrais que lorsque j'appuye sur l'un des bouton, je
change la valeur de "caption". Le problème c'est que je
ne sais pas comment selectionner l'un des boutons pour
pouvoir ensuite changer l'attribut "caption", comment
faut-il faire ?


.



Avatar
ced
merci de ton aide : ça marche.
Mais j'ai un autre problème. Comment faire pour connaitre
le n° du bouton que j'ai cliqué ?


-----Message d'origine-----
Re,

Deuxième essai (stp, reste dans ce fil si cette
proposition ne correspond

toujours pas à ta demande).
Tu crées un menu ("MonMenu"), dans la barre de menu
d'Excel, avec 4 commandes.

Tu peux y accéder par leur numéro d'ordre. Par exemple,
pour changer, par du

code VBA, la propriété Caption de la première commande
("message1") :


Sub ChangeCaption()
Application.CommandBars(1). _
Controls("MonMenu").Controls(1).Caption
= "Changement de caption"

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


resalut,

tu n'a pas compris exactement mon problème. En fait je
veux pouvoir changer l'attribut "caption" de n'importe
quels de mes boutons ( même sur ceux que je n'ai pas
cliqués ). Je ne sais pas comment faire pour connaitre
le


nom de mes bouton pour les appeler.

Bonsoir,

Introduit le changement de la propriété Caption du
bouton


appelant (accessible
par 'CommandBars.ActionControl') dans la procédure qui
lui est affectée. Par
exemple, pour le bouton "Message3" :

Sub Message3()
With CommandBars.ActionControl
If .Caption = "Cliqué" & .Index Then _
.Caption = "Message" & .Index Else _
.Caption = "Cliqué" & .Index
End With
'le reste de ton code
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma
bal !




salut,

j'ai créé un menu avec des boutons de cette façon

Set aMenu = Application.CommandBars(1).Controls.Add
(Type:=msoControlPopup, Temporary:=True)
aMenu.Caption = "MonMenu"

With aMenu

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message1"
.Caption = "Message1"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message2"
.Caption = "Message2"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message3"
.Caption = "Message3"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message4"
.Caption = "Message4"
End With

...

je voudrais que lorsque j'appuye sur l'un des
bouton, je



change la valeur de "caption". Le problème c'est que
je



ne sais pas comment selectionner l'un des boutons
pour



pouvoir ensuite changer l'attribut "caption", comment
faut-il faire ?


.


.





Avatar
ced
c'est bon, je resolu mon probleme avec la commande .index

merci !!


-----Message d'origine-----
merci de ton aide : ça marche.
Mais j'ai un autre problème. Comment faire pour
connaitre

le n° du bouton que j'ai cliqué ?


-----Message d'origine-----
Re,

Deuxième essai (stp, reste dans ce fil si cette
proposition ne correspond

toujours pas à ta demande).
Tu crées un menu ("MonMenu"), dans la barre de menu
d'Excel, avec 4 commandes.

Tu peux y accéder par leur numéro d'ordre. Par exemple,
pour changer, par du

code VBA, la propriété Caption de la première commande
("message1") :


Sub ChangeCaption()
Application.CommandBars(1). _
Controls("MonMenu").Controls(1).Caption
= "Changement de caption"

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


resalut,

tu n'a pas compris exactement mon problème. En fait je
veux pouvoir changer l'attribut "caption" de n'importe
quels de mes boutons ( même sur ceux que je n'ai pas
cliqués ). Je ne sais pas comment faire pour
connaitre



le
nom de mes bouton pour les appeler.

Bonsoir,

Introduit le changement de la propriété Caption du
bouton


appelant (accessible
par 'CommandBars.ActionControl') dans la procédure qui
lui est affectée. Par
exemple, pour le bouton "Message3" :

Sub Message3()
With CommandBars.ActionControl
If .Caption = "Cliqué" & .Index Then _
.Caption = "Message" & .Index Else _
.Caption = "Cliqué" & .Index
End With
'le reste de ton code
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma
bal !




salut,

j'ai créé un menu avec des boutons de cette façon

Set aMenu = Application.CommandBars(1).Controls.Add
(Type:=msoControlPopup, Temporary:=True)
aMenu.Caption = "MonMenu"

With aMenu

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message1"
.Caption = "Message1"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message2"
.Caption = "Message2"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message3"
.Caption = "Message3"
End With

Set Bouton = .Controls.Add(msoControlButton)
With Bouton
.OnAction = "Message4"
.Caption = "Message4"
End With

...

je voudrais que lorsque j'appuye sur l'un des
bouton, je



change la valeur de "caption". Le problème c'est
que




je
ne sais pas comment selectionner l'un des boutons
pour



pouvoir ensuite changer l'attribut "caption",
comment




faut-il faire ?


.


.

.