Petchy,
voici un exemple de code
Private Sub cree_barre_commandes()
Dim nouvelle_barre As CommandBar
Set nouvelle_barre = Application.CommandBars _
.Add(Name:="Fonctions Personnalisées", Position:=msoBarTop, _
Temporary:=True)
'-----------------------
'ajout de nouveaux menus
'-----------------------
With nouvelle_barre
.Controls.Add(msoControlPopup, Temporary:=True) _
.Caption = "Choix des Fonctions Personnalisées"
.Visible = True
End With
'---------------------
'remplissage des menus
'---------------------
With nouvelle_barre
Call ajoute_menu(.Controls(1), "Masquer ce classeur", "Masquer", True)
Call ajoute_menu(.Controls(1), "Convertir Majuscules/Minuscules ou inversement", "MajVMin", True)
Call ajoute_menu(.Controls(1), "Afficher les Infos sur la cellule", "Infocell", True)
Call ajoute_menu(.Controls(1), "Supprimer les Espaces inutiles avant/après", "SuppressionEspaces", True)
Call ajoute_menu(.Controls(1), "Supprimer les Feuilles vides", "SuP_Fvide", True)
Call ajoute_menu(.Controls(1), "Trier les Feuilles du classeur actif", "TriToutesFeuilles", True)
Call ajoute_menu(.Controls(1), "Masquer ou supprimer les lignes vides de la sélection (Ne PAS sélectionner toute la feuille!!!)", "Masque_ligne_vide", True)
Call ajoute_menu(.Controls(1), "Afficher les lignes masquées", "AfficheLignes", True)
Call ajoute_menu(.Controls(1), "Quitter le Menu Fonctions Personnalisées", "Auto_close", True)
End With
End Sub
'---------------------------------------------
'ajoute un élément de menu à une liste de menu
'---------------------------------------------
Private Sub ajoute_menu(ByVal menu As CommandBarControl, ByVal titre As String, ByVal action As String, ByVal début_groupe As Boolean)
With menu.Controls.Add(msoControlButton)
.BeginGroup = début_groupe
.Caption = titre
.OnAction = action
End With
End Sub
C@thy