Bonsoir Macpoy
ce code permet de créer un menu deroulant en haut dans la barre standard d'excel je l'épreter quelque part tu poura gérer tes feuilles comme tu veux à adapter.
' macros written 27. November 1998 by Ole P. Erlandsen,
ope@st.telia.no
Option Explicit
Sub CreateMenu()
' creates a new menu.
' can also be used to create commandbarbuttons
Dim cbMenu As CommandBarControl, cbSubMenu As CommandBarControl
RemoveMenu ' delete the menu if it already exists
' create a new menu on an existing commandbar (the next 6 lines)
Set cbMenu = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With cbMenu
.Caption = '&My menu'
.Tag = 'MyTag'
.BeginGroup = False
End With
' or add to an existing menu (use the next line instead of the previous 6 lines)
'Set cbMenu = Application.CommandBars.FindControl(, 30007) ' Tools-menu
If cbMenu Is Nothing Then Exit Sub ' didn't find the menu...
' add menuitem to menu
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = 'Feuil1'
.OnAction = ThisWorkbook.Name & '!Macroname'
End With
' add menuitem to menu
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = 'Feuil2'
.OnAction = ThisWorkbook.Name & '!Macroname'
End With
' add a submenu
Set cbSubMenu = cbMenu.Controls.Add(msoControlPopup, 1, , , True)
With cbSubMenu
.Caption = 'Submenu1'
.Tag = 'SubMenu1'
.BeginGroup = True
End With
' add menuitem to submenu (or buttons to a commandbar)
With cbSubMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = '&Submenu Feuil1'
.OnAction = ThisWorkbook.Name & '!Macroname'
.Style = msoButtonIconAndCaption
.FaceId = 71
.State = msoButtonDown
End With
' add menuitem to submenu (or buttons to a commandbar)
With cbSubMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = '&Submenu Feui2'
.OnAction = ThisWorkbook.Name & '!Macroname'
.Style = msoButtonIconAndCaption
.FaceId = 72
.Enabled = False
End With
' add a submenu to the submenu
Set cbSubMenu = cbSubMenu.Controls.Add(msoControlPopup, 1, , , True)
With cbSubMenu
.Caption = '&Submenu2'
.Tag = 'SubMenu2'
.BeginGroup = True
End With
' add menuitem to submenu submenu
With cbSubMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = '&Submenu Feui1'
.OnAction = ThisWorkbook.Name & '!Macroname'
.Style = msoButtonIconAndCaption
.FaceId = 71
.State = msoButtonDown
End With
' add menuitem to submenu submenu
With cbSubMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = '&Submenu Item2'
.OnAction = ThisWorkbook.Name & '!Macroname'
.Style = msoButtonIconAndCaption
.FaceId = 72
.Enabled = False
End With
' add menuitem to menu
With cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = '&Remove this menu'
.OnAction = ThisWorkbook.Name & '!RemoveMenu'
.Style = msoButtonIconAndCaption
.FaceId = 463
.BeginGroup = True
End With
Set cbSubMenu = Nothing
Set cbMenu = Nothing
End Sub
Sub RemoveMenu()
DeleteCustomCommandBarControl 'MyTag' ' deletes the new menu
End Sub
Private Sub DeleteCustomCommandBarControl(CustomControlTag As String)
' deletes ALL occurences of commandbar controls with a tag = CustomControlTag
On Error Resume Next
Do
Application.CommandBars.FindControl(, , CustomControlTag, False).Delete
Loop Until Application.CommandBars.FindControl(, , CustomControlTag, False) Is Nothing
On Error GoTo 0
End Sub
Sub Macroname()
' used by the menuitems created by the CreateMenu macro
MsgBox 'This could be your macro running!', vbInformation, ThisWorkbook.Name
End Sub
trés cordialement
le partage de savoir participe à l'amélioration de la vie hummaine.
Abed_H