bonjour Toi... err Moi
tiens j'ai l'impression de faire du narcissisme là ...
donc pour créer un menu VBA:
Sub Workbook_Open()
call ajouter_menu
end sub
Sub ajouter_menu()
'ajouter le nouveau menu
'cette procedure est appelée à l'ouverture du classeur
Dim HelpMenu As CommandBarControl
Dim NewMenu As CommandBarPopup
Dim MenuItem As CommandBarControl
'retrouver le menu d'aide pour placer mon nouveau menu juste avant
Set HelpMenu = CommandBars(1).FindControl(ID:=30010)
If HelpMenu Is Nothing Then
'ajouter le menu à la fin
Set NewMenu = CommandBars(1).Controls _
.Add(Type:=msoControlPopup, Temporary:=True)
Else
Set NewMenu = CommandBars(1).Controls _
.Add(Type:=msoControlPopup, Before:=HelpMenu.Index, Temporary:=True)
'sinon avant le menu d'aide
End If
'donner un titre au menu
NewMenu.Caption = '&MONMENU'
'ajouter des éléments au menu
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&ma macro à lancer'
.OnAction = 'nom_macro'
End With
'ajouter des éléments au menu autre exemple
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&Exporter...'
.OnAction = 'export_quest'
End With
'ajouter des éléments au menu
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = '&Quitter...'
.OnAction = 'quitter_app'
End With
End Sub
'a la fermeture du classeur
'mais effectif seulement qu'Excel est fermé
Sub suppr_menu()
'supprimer le menu personnalisé
On Error Resume Next
CommandBars('&MONMENU').Delete
On Error GoTo 0
End Sub
et hop!
j'espère que ça t'aidera
Deedo