Copiez et collez le code suivant dans la fenêtre de code vide:
AddMenus sub ()
Dim cMenu1 comme CommandBarControl
Dim cbMainMenuBar comme CommandBar
Dim iHelpMenu As Integer
Dim cbcCutomMenu comme CommandBarControl
»(1) Supprimer une déjà existante. Nous devons utiliser On Error Resume Next _
dans le cas où elle existe pas.
On Error Resume Next
Application.CommandBars ("Feuille Menu Bar") .Controls ("&Nouveau menu") .Delete
On Error GoTo 0
»(2) Définir une variable CommandBar pour la feuille barre de menu
Réglez cbMainMenuBar = _
Application.CommandBars ("Feuille Menu Bar")
»(3) Retourne le numéro d'index du menu Aide. Nous pouvons ensuite utiliser _
ce pour placer un menu personnalisé avant.
iHelpMenu = _
cbMainMenuBar.Controls ("Aidez-Moi") .index
»(4) Ajouter un contrôle à la "Feuille Menu Bar" Aide avant.
«Définir une variable CommandBarControl à elle
Réglez cbcCutomMenu = _
cbMainMenuBar.Controls.Add (Type: = msoControlPopup, _Avant: = iHelpMenu)
»(5) Donner le contrôle d'une légende
cbcCutomMenu.Caption = "&li-Nouveau menu"
»(6) En collaboration avec notre nouvelle configuration, ajouter un contrôle et sous _
donner une légende et lui dire qui macro à exécuter (OnAction).
Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.Légende = "Menu 1".OnAction = "MyMacro1"
End With
»(6a) Ajouter un autre contrôle de sous lui donner une Légende _
et dire que ce qui macro à exécuter (OnAction)
Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.Légende = "Menu 2".OnAction = "MyMacro2"
End With
«Répétez l'étape "6a" pour chaque élément de menu que vous souhaitez ajouter.
«Ajouter un autre menu qui mènera à un autre Menu
«Définir une variable CommandBarControl à elle
Réglez cbcCutomMenu = cbcCutomMenu.Controls.Add (Type: = msoControlPopup)
«Donnez le contrôle d'une légende
cbcCutomMenu.Caption = "Ne&li-xt Menu"
«Ajouter un contol au menu sous, juste créé ci-dessus
Avec cbcCutomMenu.Controls.Add (Type: = msoControlButton)
.Légende = "&-Graphiques".FaceID = 420
.OnAction = "MyMacro2"
End With
End Sub
Sous DeleteMenu ()
On Error Resume Next
Application.CommandBars ("Feuille Menu Bar") .Controls ("&li-Nouveau menu") .DeleteOn Error GoTo 0
End Sub
Sous MyMacro1 ()
MsgBox "Je ne fais pas beaucoup encore, dois-je?", VbInformation, "Ozgrid.com"
End Sub
Sous MyMacro2 ()
MsgBox "Je ne fais pas encore beaucoup soit, fais-je?", VbInformation, "Ozgrid.com"
End Sub
Private Sub Workbook_Activate ()
Course "AddMenus"
End Sub