EXCEL FORMLAIRE creer ses options (clic droit)

  • Initiateur de la discussion Initiateur de la discussion pasquetp
  • 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 !

pasquetp

XLDnaute Occasionnel
Bonjour,

Je me tourne vers vous car je bloque completement. je crée un formulaire et je veux que quanfd je fais clique droit il montre des options que je veux. j'ai reussi en partie.

voici la programmation

'Création de la barre d'outils lors du lancement du UserForm
Private Sub UserForm_Initialize()
qui2.SetFocus
Dim Barre As CommandBar

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

With Barre.Controls.Add(msoControlButton, 1, , , True)
.Caption = "lancer l'initialisation"
.FaceId = 4355
'La procédure va appeler une macro nommée "Macro1", lorsque vous cliquerez
'sur le bouton.
.Height = barHeight * 2
.Width = 50
.OnAction = "initialiser_tt"
End With

With Barre.Controls.Add(msoControlButton, 2, , , True)
.Caption = "effacer les données"
.FaceId = 1786
'La procédure va appeler une macro nommée "Macro2", lorsque vous cliquerez
'sur le bouton.
.OnAction = "effacer_ttt"
End With

End Sub



voyez vous, les options saffichent correctement. mais ce que je veux c'est que je puisse avoir aussi des options dans une option.que dans loption ne soit pas un vrai bouton mais une fleche qui mene a des vrais options. Est ce clair?

merci d'avance
 
Re : EXCEL FORMLAIRE creer ses options (clic droit)

Bonjour,

Une piste avec l'exemple suivant

1) créer un UserForm1 avec un CommandButton1
2) dans la fenêtre de code du UserForm, copiez le code suivant

Code:
Private Sub CommandButton1_Click()
Me.Hide
End Sub

Private Sub UserForm_Initialize()
Me.CommandButton1.Caption = "Quitter"
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then Call CreeContext
End Sub


3) dans un module standard, copiez le code suivant

Code:
Sub LaunchUSF()
UserForm1.Show
End Sub

Sub CreeContext(Optional void As Byte)
Dim CB As CommandBar
Dim CBB As CommandBarButton
Dim CBP As CommandBarPopup
On Error Resume Next
CommandBars("MonContextuel").Delete
On Error GoTo 0
Set CB = CommandBars.Add(Name:="MonContextuel", Position:=msoBarPopup, temporary:=True)
With CB
  '---- Menu avec sous menu ---
  Set CBP = .Controls.Add(Type:=msoControlPopup)
  CBP.Caption = "menu avec sous menu 1"
    Set CBB = CBP.Controls.Add(Type:=msoControlButton)
    With CBB
      .OnAction = "SM1"
      .FaceId = 2
      .Caption = "Coucou"
    End With
    Set CBB = CBP.Controls.Add(Type:=msoControlButton)
    With CBB
      .OnAction = "SM2"
      .FaceId = 10
      .Caption = "Bonjour"
    End With
    Set CBB = CBP.Controls.Add(Type:=msoControlButton)
    With CBB
      .OnAction = "SM3"
      .FaceId = 12
      .Caption = "Hello"
    End With
    '--- Bouton simple ---
    Set CBB = .Controls.Add(Type:=msoControlButton)
        With CBB
      .OnAction = "B1"
      .FaceId = 128
      .Caption = "Tout seul"
    End With
    '--------------
    Set CBP = .Controls.Add(Type:=msoControlPopup)
    CBP.Caption = "menu avec sous menu 2"
      Set CBB = CBP.Controls.Add(Type:=msoControlButton)
      With CBB
        .OnAction = "SM4"
        .FaceId = 35
        .Caption = "Adieu"
      End With
      Set CBB = CBP.Controls.Add(Type:=msoControlButton)
      With CBB
        .OnAction = "SM5"
        .FaceId = 42
        .Caption = "Au revoir"
      End With
  .ShowPopup
End With
End Sub

Sub SM1(Optional void As Byte)
MsgBox "Coucou"
End Sub

Sub SM2(Optional void As Byte)
MsgBox "Bonjour"
End Sub

Sub SM3(Optional void As Byte)
MsgBox "Hello"
End Sub

Sub B1(Optional void As Byte)
MsgBox "Tout seul"
End Sub

Sub SM4(Optional void As Byte)
MsgBox "Adieu"
End Sub

Sub SM5(Optional void As Byte)
MsgBox "Au revoir"
End Sub


Lancez la macro LaunchUSF. Au clic droit dans le UserForm apparaît un menu contextuel avec sous menus.

Cordialement.

PMO
Patrick Morange
 
Re : EXCEL FORMLAIRE creer ses options (clic droit)

ton fichier montre exactement ce que je recherche !!!! bravo et surtout merci. ca fait vraiment plaisir. et juste par curiosité est il possible de faire une option puis sous option qui elle mene aussi a une otre sous option?

Meme si c'est pas possible , merci ta assuré.

pierre
 
- 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
2
Affichages
1 K
Réponses
2
Affichages
2 K
F
Réponses
2
Affichages
1 K
F
Retour