OVH Cloud OVH Cloud

Ajouter un bouton dans un bouton déroulant de type msoControlPop up, lui-même inséré dans le menu contextuel "Cell"

1 réponse
Avatar
Hadrien Coadour
Bonjour,

J'ai d'abord inséré un menu déroulant dans le menu contextuel "cell", qui apparait lors du click droit de la souris sur une feuille de calcul. Avec le code suivant :

Application.CommandBars("Cell").Controls.Add Type:=msoControlPopup, Before:=5
With CommandBars("Cell").Controls(5)
.Caption = "TB1 : insert ..."
.BeginGroup = True
End With

Maintenant, je cherche à y insérer des boutons de type msoControlButton.

J'ai essayé d'enregistrer une macro correspondante à une manipulation équivalente - je créer une barre de commande , puis j'y insère un menu msoControlPopup, puis j'insère dans ce nouveau menu un bouton - pour obtenir la solution et cela donne le code suivant :

Application.CommandBars.Add(Name:="Fill colors").Visible = True
Application.CommandBars("Fill colors").Controls.Add Type:=msoControlPopup, _
Before:=2
Application.CommandBars("Custom Popup 43607814").Controls.Add Type:= _
msoControlButton, ID:=2950, Before:=1

Dans ce code généré qutomatiquement, le sous-menu msoControlPopup semble nommé par un nom généré aléatoirement, "Custom Popup 43607814". Comment puis-je changer ce nom pour pouvoir y faire référence dans une procédure qui insérera les boutons dans ce sous-menu ?

Par avance, merci pour votre aide.

1 réponse

Avatar
Pascal Engelmajer
Salut,
que donne :
.../...
Application.CommandBars("Fill colors").Controls.Add Type:=msoControlPopup, _
Before:=2, Name:="monNom"
.../...

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Hadrien Coadour" a écrit dans le
message de news:
Bonjour,

J'ai d'abord inséré un menu déroulant dans le menu contextuel "cell", qui
apparait lors du click droit de la souris sur une feuille de calcul. Avec le

code suivant :

Application.CommandBars("Cell").Controls.Add Type:=msoControlPopup,
Before:=5

With CommandBars("Cell").Controls(5)
.Caption = "TB1 : insert ..."
.BeginGroup = True
End With

Maintenant, je cherche à y insérer des boutons de type msoControlButton.

J'ai essayé d'enregistrer une macro correspondante à une manipulation
équivalente - je créer une barre de commande , puis j'y insère un menu

msoControlPopup, puis j'insère dans ce nouveau menu un bouton - pour obtenir
la solution et cela donne le code suivant :

Application.CommandBars.Add(Name:="Fill colors").Visible = True
Application.CommandBars("Fill colors").Controls.Add
Type:=msoControlPopup, _

Before:=2
Application.CommandBars("Custom Popup 43607814").Controls.Add Type:= _
msoControlButton, ID:)50, Before:=1

Dans ce code généré qutomatiquement, le sous-menu msoControlPopup semble
nommé par un nom généré aléatoirement, "Custom Popup 43607814". Comment

puis-je changer ce nom pour pouvoir y faire référence dans une procédure qui
insérera les boutons dans ce sous-menu ?

Par avance, merci pour votre aide.