• Initiateur de la discussion Initiateur de la discussion Tail
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tail

XLDnaute Occasionnel
bonsoir
j'aimerai créer un menu, et dans ce menu un sous menu "imprimer" avec 2 items
j'ai le code ci dessous mais je n'arrive pas à afficher mes 2 items (pop up) dans le sous menu imprimer, comment faire
merci

With CommandBars(1).Controls.Add(msoControlPopup)
.Caption = "Menu Habillement"

With .Controls.Add(msoControlButton)

.Caption = "Inventaire CS"

.FaceId = 1

.BeginGroup = True

.OnAction = "inventaire"

End With
With .Controls.Add(msoControlButton)

.Caption = "Tri par catégorie"

.FaceId = 1

.BeginGroup = True

.OnAction = "tricategorie"

End With
With .Controls.Add(msoControlButton)

.Caption = "Total à commander"

.FaceId = 1

.BeginGroup = True

.OnAction = "total"

End With
With .Controls.Add(msoControlButton)

.Caption = "Liste des agents"

.FaceId = 1

.BeginGroup = True

.OnAction = "listeagents"

End With
With .Controls.Add(msoControlButton)

.Caption = "Créer une fiche agent"

.FaceId = 1

.BeginGroup = True

.OnAction = "creerfiche"

End With

End With

' creer les popup de menu dans imprimer

With Application.CommandBars("menu habillement")

With .Controls.Add(msoControlPopup)

.Caption = "Imprimer"

.BeginGroup = False

' Sous-menu 1 (Imprimer une fiche agent)

.Controls.Add (msoControlButton)

.Controls(1).Caption = "Imprime une fiche agent"

With .Controls(1)

.OnAction = "Imprime"

.FaceId = 351

End With

' Sous-menu 2 (Imprime toutes les fiches)

.Controls.Add (msoControlButton)

.Controls(2).Caption = "Imprime toutes les fiches"

With .Controls(2)

.OnAction = "imprime"

.FaceId = 352

End With

End With

End With
 
Re : barre de menu

Bonsoir Tail,

J'utilise ceci pour créer un menu supplémentaire dans la barre de menu:
Tu devrais pour l'adapter facilement.

La macro recherche le menu Aide (ou le ?).
Si elle le trouve, elle crée le nouveau menu à sa gauche, sinon il est crée en dernier.

Ensuite elle ajoute un premier bouton (Saise commande), puis un second bouton (Modifier commande) qui donne accès à un sous menu avec trois boutons.

Code:
Sub barre()

Dim aide As CommandBarControl
Dim Mabarre As CommandBarPopup
Dim MabarComd As CommandBarControl
Dim SousMenu As CommandBarButton

SupMaBarre

Set aide = CommandBars(1).FindControl(ID:=30010)
If aide Is Nothing Then
  Set Mabarre = CommandBars(1).Controls.Add(Type:=msoControlPopup, temporary:=True)
Else
  Set Mabarre = CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=aide.Index, temporary:=True)
End If
Mabarre.Caption = "Saisie"

Set MabarComd = Mabarre.Controls.Add(Type:=msoControlButton)
With MabarComd
    .Caption = "Saisie commande"
    .OnAction = "usf4"
End With

Set MabarComd = Mabarre.Controls.Add(Type:=msoControlPopup)
With MabarComd
    .Caption = "Modifier commande"
    .BeginGroup = True
End With

Set SousMenu = MabarComd.Controls.Add(Type:=msoControlButton)
With SousMenu
    .Caption = "Mois en cours"
    .FaceId = "156"
    .OnAction = "usf1"
End With

Set SousMenu = MabarComd.Controls.Add(Type:=msoControlButton)
With SousMenu
    .Caption = "Mois suivant"
    .FaceId = "157"
    .OnAction = "usf2"
End With

Set SousMenu = MabarComd.Controls.Add(Type:=msoControlButton)
With SousMenu
    .Caption = "Mois précédant"
    .FaceId = "154"
    .OnAction = "usf3"
End With

End Sub

Sub SupMaBarre()
On Error Resume Next
CommandBars(1).Controls("Saisie").Delete
End Sub

Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
656
Réponses
2
Affichages
1 K
Retour