Creer menu contextuel sur listbox par click droit

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 !

Re : Creer menu contextuel sur listbox par click droit

bonjour



Tu peux tester

Code:
Option Explicit

'Création de la barre d'outils lors du lancement du UserForm
Private Sub UserForm_Initialize()
    Dim Barre As CommandBar
    
    Set Barre = CommandBars.Add("MenuUSF", msoBarPopup, False, True)
    
    With Barre.Controls.Add(msoControlButton, 1, , , True)
        .Caption = "Menu 01"
        .FaceId = 50
        'La procédure va appeler une macro nommée "Macro1", lorsque vous cliquerez
        'sur le bouton.
        .OnAction = "Macro1"
    End With
    
    With Barre.Controls.Add(msoControlButton, 2, , , True)
        .Caption = "Menu 02"
        .FaceId = 49
        'La procédure va appeler une macro nommée "Macro2", lorsque vous cliquerez
        'sur le bouton.
        .OnAction = "Macro2"
    End With
    
End Sub
 
 
Private Sub ListBox1_MouseDown(ByVal Button As Integer, _
    ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim PosX As Single, PosY As Single
    If Button = 2 Then
        PosX = (Me.Left + ListBox1.Left + 130)
        PosY = (Me.Top + ListBox1.Top + 130)
        
        Application.CommandBars("MenuUSF").ShowPopup PosX, PosY
    End If
End Sub
 
 
'Supprime la barre d'outils lors de la fermeture du UserForm
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    On Error Resume Next
    CommandBars("MenuUSF").Delete
End Sub



Bon week end
MichelXld
 
Re : Creer menu contextuel sur listbox par click droit

Bonjour MichelXld

Merci pour votre proposition.

J'ai un message d'erreur 5 sur cette ligne ?????
Argument ou appel de procedure incorrete

Set Barre = CommandBars.Add("MenuUSF", msoBarPopup, False, True)


Voir PJ

Merci
 

Pièces jointes

Re : Creer menu contextuel sur listbox par click droit

bonjoour skoobi, MichelXld

J'ai réussi à le faire marcher dans une structure "simple" )voir Nouvelle piece jointe et j'en profite pour remercier MichelXld pour son travail).
Cependant je dois l'integrer dans un projet plus complet.Et la ca conce , j'ai cette erreur.

Je l'ai inserer dans un module de classe.

Esce que ca a de l'importance ?

Merci

Carlos
 

Pièces jointes

Re : Creer menu contextuel sur listbox par click droit

Bonjour le forum

Enfin j'ai réussi à mettre en place la proposition de MichelXld qui fonctionne tres bien.

MAIS ce code ci dessous devrait me proposer 7 choix de couleurs et sans icone .

Or j'ai seulement 4 choix et du 2 ieme au 4 ieme couleur j'ai des icones ????

Je ne comprends pas tout .

Dim Barre As CommandBar
On Error Resume Next

CommandBars("MenuUSF").Delete
Set Barre = CommandBars.Add("MenuUSF", msoBarPopup, False, True)
With Barre.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Jaune"
.OnAction = "Jaune"
End With
With Barre.Controls.Add(msoControlButton, 2, , , True)
.Caption = "Orange"
'.FaceId = 50
.OnAction = "Orange"
End With
With Barre.Controls.Add(msoControlButton, 3, , , True)
.Caption = "Rose"
.OnAction = "Rose"
End With
With Barre.Controls.Add(msoControlButton, 4, , , True)
.Caption = "Rouge"
.OnAction = "Rouge"
End With
With Barre.Controls.Add(msoControlButton, 5, , , True)
.Caption = "Violet"
.OnAction = "Violet"
End With
With Barre.Controls.Add(msoControlButton, 6, , , True)
.Caption = "Vert"
.OnAction = "Vert"
End With
With Barre.Controls.Add(msoControlButton, 7, , , True)
.Caption = "Bleu"
.OnAction = "Bleu"
End With

Merci de m'aider

Carlos
 
- 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
281
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
284
Réponses
32
Affichages
975
Réponses
2
Affichages
104
Deleted member 453598
D
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
360
Retour