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
| 'Procédure appelante ajout d'un menu avec n items
'----------------------------------------------------------------
Sub AjoutMenuBarre()
Application.DisplayAlerts = False
' SUPPRESSION DU MENU SI IL EST DEJA
Application.Run "ClasseurMacroPerso.xls!SupressionMenuBarre"
' DONNEE ="NOM DU MENU", (N° ICON),(TEXTE DES MENUS),(ACTION)
AjMenuX "&Barre", _
Array(222, 2950, 222, 2950, 222, 2950, 1, 1, 222), _
Array("0&1-Ouvre Calcul", "0&2-", "0&3-", "0&4-", "0&5-", "0&6-", "0&7-", "0&8-", "9&9-Ouvre Classeur de macro perso"), _
Array("ClasseurMacroPerso.xls!process01", "ClasseurMacroPerso.xls!process02", "ClasseurMacroPerso.xls!process03", "ClasseurMacroPerso.xls!process04", "ClasseurMacroPerso.xls!process05", "ClasseurMacroPerso.xls!process06", "ClasseurMacroPerso.xls!process07", "ClasseurMacroPerso.xls!process08", "ClasseurMacroPerso.xls!process99")
Application.DisplayAlerts = True
End Sub
'================
'Procédures appelées
'================
' Procédure d'ajout d'un menu
'-------------------------------------
Sub AjMenuX(NomMenu, TbID, TbItem, TbLien)
Dim I, J
Set myMenuBar = CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=False)
newMenu.Caption = NomMenu
I = 0
J = 0
For Each Value In TbID
Set ctrl1 = newMenu.Controls.Add(Type:=msoControlButton, ID:=TbID(I))
ctrl1.Caption = TbItem(J)
ctrl1.TooltipText = TbItem(I)
ctrl1.Style = msoButtonIconAndCaption
ctrl1.OnAction = TbLien(I)
I = I + 1
J = J + 1
Next Value
End Sub
'Procédure appelante suppression d'un menu
'--------------------------------------------------------
Sub SupressionMenuBarre()
Application.DisplayAlerts = False
SuprMenuX ("Barre")
Application.DisplayAlerts = True
End Sub
'Procédure de supperssion d'un menu
'-----------------------------------------------
Sub SuprMenuX(NomDuMenu As String)
On Error Resume Next
Set myMenuBar = CommandBars.ActiveMenuBar
myMenuBar.Controls(NomDuMenu).Delete
End Sub |
Partager