Creer menu contextuel sur listbox par click droit

MichelXld

XLDnaute Barbatruc
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
 

carlos

XLDnaute Impliqué
Supporter XLD
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

  • erreur 5.xls
    31 KB · Affichages: 113
  • erreur 5.xls
    31 KB · Affichages: 113
  • erreur 5.xls
    31 KB · Affichages: 120

carlos

XLDnaute Impliqué
Supporter XLD
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

  • erreur 5.xls
    35.5 KB · Affichages: 134
  • erreur 5.xls
    35.5 KB · Affichages: 140
  • erreur 5.xls
    35.5 KB · Affichages: 143

carlos

XLDnaute Impliqué
Supporter XLD
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
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Menu déroulant
Réponses
4
Affichages
402

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87