Ajout d'élements de menus via VBA

alexane

XLDnaute Occasionnel
Bonjour à tous
Je rencontre un petit problème pour personnaliser mes barres d'outils

Pour accéder à mes macros plus facilement, j'ai créé une barre d'outils perso
Set maBarre = CommandBars.Add(Name:="Mes Macros")
maBarre.Visible = True


puis je lui ai affecté un menu déroulant :
Set menuDeroulant = CommandBars("Mes Macros").Controls.Add _
(Type:=msoControlPopup)
menuDeroulant.Caption = "mef perso"


puis j'y ai affecté une macro (mise en majuscule):
Set monBouton = menuDeroulant.Controls.Add(msoControlButton)
monBouton.Style = msoButtonCaption
monBouton.Caption = "Majuscule"
monBouton.OnAction = "Majuscule"


Tout ça marche très bien, mais comment faire pour ajouter un nouveau controlButton à ce menu déroulant :
si j'ajoute un autre bloc de cmd :
Set monBouton = menuDeroulant.Controls.Add(msoControlButton)
monBouton.Style = msoButtonCaption
monBouton.Caption = "Minuscule"
monBouton.OnAction = "Minuscule"

et que je lance à nouveau l'exécution, ça me crée 2 menus déroulants "mef perso"
l'un avec 1 bouton "Majuscule"
l'autre avec les 2 boutons "Majuscule" et "Minuscule"
Comment faire pour ajouter un item sans recréer le menu déroulant
Et en supprimer 1 ?
Pour m'en sortir je suis obligée de supprimer toute la barre. Doit bien avoir une autre solution ?
je joins un fichier exemple
merci
 

Pièces jointes

  • barre_outils.xlsm
    15.1 KB · Affichages: 116

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025