1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
   |  
 
Sub AjouterNouveauMenu()
Dim HelpIndex As Integer
Dim NewMenu As CommandBarPopup
Dim MenuItem As CommandBarControl
'Supprimer le menu s'il existe déjà
Call DeleteMenu
'Obtenir l'index du menu Fichier
HelpIndex = CommandBars(1).Controls("Fichier").Index
 
'Créer le menu
Set NewMenu = CommandBars(1).Controls.Add _
(Type:=msoControlPopup, _
Before:=HelpIndex, Temporary:=True)
 
'Ajouter une légende
NewMenu.Caption = "Mon menu"
 
'Premier élément de menu
Set MenuItem = NewMenu.Controls.Add _
(Type:=msoControlButton)
With MenuItem
    .Caption = "&Imprimer"
    .FaceId = 162
    .OnAction = "Macro1"
End With
'Deuxième élément de menu
Set MenuItem = NewMenu.Controls.Add _
(Type:=msoControlButton)
With MenuItem
    .Caption = "&Exécuter"
    .FaceId = 590
    .OnAction = "Macro1"
End With
End Sub
 
Sub DeleteMenu()
On Error Resume Next
CommandBars(1).Controls("Mon menu").Delete
End Sub
 
'Si tu veux que le menu soit effacé à la fermeture du classeur, tu mets dans 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call DeleteMenu
End Sub
'Si tu veux que le menu soit créé à l'ouverture du classeur tu mets dans
 
Private Sub Workbook_Open()
Call AjouterNouveauMenu
End Sub
'Bien sur tu enregistre ce classeur. | 
Partager