[VBA-E] Probleme sur création menu
Salut,
J'ai un problème! Sous Excel j'ouvre un fichier qui génère un menu sous-menu "Outils". Chaque ligne de ce menu appel le macro Mac et transmet des variables.
Tout fonctionne... mais l'operateur MsgBox se répète deux fois(?) et Workbooks.Add ne réagit pas, comme s'il n'etait là.
Est ce que quelq'un pourra m'aider svp?
Merci
Code:
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
| Private Sub Workbook_Open()
For Each MenuName In MenuBars(xlWorksheet).Menus
If MenuName.Caption = "&Outils" Then
For Each SubMenuName In MenuBars(xlWorksheet).Menus("&Outils").MenuItems
If SubMenuName.Caption = "Tab" Then SubMenuName.Delete: Exit For
Next
Exit For
End If
Next
MenuBars(xlWorksheet).Menus("&Outils").MenuItems.AddMenu Caption:="Tab"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems.AddMenu Caption:="EXE 1"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems.AddMenu Caption:="EXE 2"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems.AddMenu Caption:="PROJET 1"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems.AddMenu Caption:="PROJET 2"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems.AddMenu Caption:="PROJET 3"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 2").MenuItems.AddMenu Caption:="PROJET 1"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 2").MenuItems.AddMenu Caption:="PROJET 2"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems("PROJET 1").MenuItems.Add Caption:="KIKI", OnAction:="Mac(" & """EXE 1 - PROJET1 - KIKI""" & ")"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems("PROJET 1").MenuItems.Add Caption:="MIMI", OnAction:="Mac(" & """EXE 1 - PROJET1 - MIMI""" & ")"
MenuBars(xlWorksheet).Menus("&Outils").MenuItems("Tab").MenuItems("EXE 1").MenuItems("PROJET 2").MenuItems.Add Caption:="FIFI", OnAction:="Mac(" & """EXE 1 - PROJET2 - FIFI""" & ")"
End Sub
Private Function Mac(Variable)
MsgBox Variable
If Variable = "KIKI" Then Workbooks.Add
End Function |