elolydie
Messages postés5Date d'inscriptionjeudi 2 septembre 2004StatutMembreDernière intervention16 mai 2005
-
2 mars 2005 à 18:10
Ednour
Messages postés7Date d'inscriptiondimanche 22 mars 2009StatutMembreDernière intervention18 juin 2010
-
17 juin 2010 à 14:50
Bonjour,
Je cherche à créer une barre de menu personnalisée qui contient des sous menus.
Mon problème est de réussir à créer les boutons dand ce sous menu, je n'arrive pas à appeler ce sous menu pour y créé un control.
Voici le début de mon code :
Sub barre()
Dim bar, barMenu As CommandBar
Dim menu, menu2 As CommandBarPopup
Dim bt As CommandBarButton
Set barMenu = CommandBars.Add("Barre")
With barMenu
.Visible = True
.Position = msoBarFloating
End With
Set menu = Application.CommandBars("Barre").Controls.Add(msoControlPopup, , , , True)
With menu
.Visible = True
.Caption = "Détail de l'affichage de l'onglet"
End With
Set menu2 = Application.CommandBars("Barre").Controls(2)
With menu2.Controls.Add(msoControlPopup)
.Visible = True
.Caption = "Sous menu 1..."
End With
With menu2.Controls.Add(msoControlPopup)
.Visible = True
.Caption = "Sous menu 2..."
End With
'Cette création de bouton ne se crée pas dans le sous menu mais dans le menu !
Set menu2a = Application.CommandBars("Barre").Controls.Add(msoControlButton)
With menu2a
.Visible = True
.Caption = "Bouton 1"
.Style = msoButtonCaption
.OnAction = "action"
End With
end Sub
Je pense qu'il me manque juste la syntaxe qui permet d'appeler le sous menu mais je n'ai pas trouvé dans l'aide.
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 2 mars 2005 à 22:17
Salut, peut tu preciser ce que tu utilises ? VB6 ? VB.net ? Et si tu utilise VB6 preciser quel contrôle tu utilise (apparement tu utilises un contrôle). Sinon est-ce que tu as essayé:
Set menu2a = Menu2.Add(msoControlButton)
With menu2a
.Visible = True
.Caption = "Bouton 1"
.Style = msoButtonCaption
.OnAction = "action"
End With
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 2 mars 2005 à 23:51
Essaie ce code
Sub CréerBarreOutils()
Dim TBar As CommandBar
Dim NewMenu As CommandBarPopup
Dim MenuItem As CommandBarControl
Dim SubMenuItem As CommandBarButton
On Error Resume Next
CommandBars("Barre").Delete
On Error GoTo 0
Set TBar = CommandBars.Add
With TBar
.Name = "Barre"
.Visible = True
End With
Set NewMenu = CommandBars("Barre").Controls.Add(Type:=msoControlPopup)
NewMenu.Caption = "Détails de l'affichage de l'onglet"
NewMenu.Visible = True
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)MenuItem.Caption = "Sous menu 1..."
Set MenuItem = NewMenu.Controls.Add(Type:=msoControlButton)
MenuItem.Caption = "Sous menu 2..."
MenuItem.OnAction = "Action"
Ednour
Messages postés7Date d'inscriptiondimanche 22 mars 2009StatutMembreDernière intervention18 juin 2010 17 juin 2010 à 14:50
'Bonjour,
'Ce code fonctionne parfaitement
Sub Auto_open()
Sheets("Menu").Select
Aj_menu_perso 'appel à la procédure Ajouter le menu perso
End Sub
Sub Aj_menu_perso()
Dim Feuille As Worksheet 'besoin pour mon application
Dim Cbar As CommandBar, Cbut As CommandBarButton
Dim Cpop1 As CommandBarPopup, Cpop2 As CommandBarPopup, Cpop3 As CommandBarPopup, Cpop4 As CommandBarPopup
Dim x As Byte
Set Cpop1 = Cbar.Controls.Add(msoControlPopup)
With Cpop1
.Caption = "Fichiers"
.Tag = "sm1"
End With
Set Cpop2 = Cbar.Controls.Add(msoControlPopup)
With Cpop2
.Caption = "Consultations"
.Tag = "sm2"
End With
Set Cpop3 = Cbar.Controls.Add(msoControlPopup)
With Cpop3
.Caption = "Commentaires"
.Tag = "sm3"
End With
Set Cpop4 = Cbar.Controls.Add(msoControlPopup)
With Cpop4
.Caption = "A Propos"
.OnAction = "Ex_Auteur"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption 'icône avant nombouton
.FaceId = 4 'code icône interne
.Caption = "Imprimer"
.OnAction = "Ex_Imprimer"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 271
.Caption = "Enregistrer"
.OnAction = "Ex_Enregistrer"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 1019
.Caption = "Quitter"
.OnAction = "Ex_Quitter"
End With
Set Cbut = Cpop1.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 1016
.Caption = "Accueil"
.OnAction = "Ex_Menu"
End With
Set Cbut = Cpop2.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 125
.Caption = "Stat. Janvier"
.OnAction = "Ex_Jan"
End With
Set Cbut = Cpop2.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 125
.Caption = "Stat. Février"
.OnAction = "Ex_Fev"
End With
Set Cbut = Cpop2.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 125
.Caption = "Stat. Mars"
.OnAction = "Ex_Mar"
End With
Set Cbut = Cpop2.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 125
.Caption = "Stat. Avril"
.OnAction = "Ex_Avr"
End With
Set Cbut = Cpop3.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 352
.Caption = "Afficher"
.OnAction = "Com_Aff"
End With
Set Cbut = Cpop3.Controls.Add(msoControlButton)
With Cbut
.Style = msoButtonIconAndCaption
.FaceId = 351
.Caption = "Masquer"
.OnAction = "Com_Maq"
End With
Cbar.Visible = True
End Sub
Sub Del_menu_perso()
On Error Resume Next
CommandBars("MaBarre").Delete 'Suppression du menu perso
End Sub