Sub barre_menus_perso()
'déclaration des variables
Dim Cbar As CommandBar, Cbut As CommandBarButton
Dim Ctxt As CommandBarComboBox, Cpop1 As CommandBarPopup, Cpop2 As CommandBarPopup
Dim x As Byte
'création de la barre de menus
Set Cbar = CommandBars.Add(Name:="MaBarre", Position:=msoBarTop, Temporary:=True)
Cbar.Protection = msoBarNoMove + msoBarNoCustomize '<-- protection de la barre de menus'insertion sur la barre de menus d'un bouton de commande
Set Cbut = Cbar.Controls.Add(msoControlButton)
With Cbut
.FaceId = 358 '<-- icône
.OnAction = "Macro1" '<-- procédure à exécuter
.TooltipText = "Suppression barre de menus" '<-- info-bulle
.Tag = "cbut1" '<-- étiquette
End With
'insertion sur la barre de menus d'une zone de texte
Set Ctxt = Cbar.Controls.Add(msoControlEdit)
With Ctxt
.Style = msoComboLabel '<-- zone de texte avec label
.Caption = "Date :" '<-- texte du label
.TooltipText = "Veuillez introduire une date" '<-- info-bulle
.OnAction = "Macro2" '<-- procédure à exécuter
.BeginGroup = True '<-- barre de séparation
.Tag = "ctxt1" '<-- étiquette
End With
'insertion sur la barre de menus d'une zone de liste
Set Ctxt = Cbar.Controls.Add(msoControlDropdown)
With Ctxt
.Style = msoComboLabel '<-- zone de liste avec label
.Caption = "Liste :" '<-- texte du label
.TooltipText = "Faites votre choix" '<-- info-bulle
.OnAction = "Macro3" '<-- procédure à exécuter
.BeginGroup = True '<-- barre de séparation
.Tag = "clist1" '<-- étiquette
For x = 1 To 5
.AddItem ("Choix " & x) '<-- ajout de 5 Item
Next
End With
'insertion sur la barre de menus d'un sous-menu 1
Set Cpop1 = Cbar.Controls.Add(msoControlPopup)
With Cpop1
.Caption = "Sous-menu 1" '<-- label du sous-menu
.Tag = "sm1" '<-- étiquette
End With
'insertion dans le sous-menu 1 d'un premier bouton de commande
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonCaption '<-- bouton avec texte uniquement
.Caption = "Bouton 1" '<-- label du bouton
.OnAction = "Macro4" '<-- procédure à exécuter
.Tag = "sm1cbut1" '<-- étiquette
End With
'insertion dans le sous-menu 1 d'un second bouton de commande
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonCaption '<-- bouton avec texte uniquement
.Caption = "Bouton 2" '<-- label du bouton
.OnAction = "Macro4" '<-- procédure à exécuter
.Tag = "sm1cbut2" '<-- étiquette
End With
'insertion dans le sous-menu 1 d'un sous-menu 2
Set Cpop2 = Cpop1.Controls.Add(msoControlPopup)
With Cpop2
.Caption = "Sous-menu 2" '<-- label du sous-menu
.Tag = "sm2" '<-- étiquette
End With
'insertion dans le sous-menu 2 d'un bouton prédéfini ouvrant l'application Word
Set Cbut = Cpop2.Controls.Add(Type:=msoControlButton, ID:=42)
With Cbut
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "Word" '<-- label du bouton
End With
'insertion dans le sous-menu 2 d'un bouton prédéfini ouvrant l'application Access
Set Cbut = Cpop2.Controls.Add(Type:=msoControlButton, ID:=264)
With Cbut
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "Access" '<-- label du bouton
End With
'insertion dans le sous-menu 2 d'un bouton prédéfini ouvrant l'application PowerPoint
Set Cbut = Cpop2.Controls.Add(Type:=msoControlButton, ID:=267)
With Cbut
.Style = msoButtonIconAndCaption '<-- bouton avec icône + texte
.Caption = "PowerPoint" '<-- label du bouton
End With
Cbar.Visible = True '<-- affichage de la barre de menus
End Sub