Une zone de liste déroulante

4 mars 2014
Imprimer

Vous donnez un choix à l'utilisateur, dès que celui-ci sélectionne l'un d'entre eux, la procédure attachée se lance (ici Ma_macro).

Sub AjoutZoneTexte()
     Dim MaBarre As CommandBar
     Dim MonTxt As CommandBarComboBox

     Set MaBarre = CommandBars("BarrePerso")
     Set MonTxt = MaBarre.Controls.Add(msoControlDropdown) 'ajoute une liste déroulante
     With MonTxt
          .OnAction = "Ma_macro"
          .Tag = "lst1"
          .AddItem "Choix 1" 'ajoute une ligne à la liste
          .AddItem "Choix 2"
          .AddItem "Choix 3"
          .AddItem "Choix 4"
     End With
End Sub

Sub Ma_macro()
     Dim MonBtn As CommandBarComboBox, strTxt As String

     Set MonBtn = CommandBars("BarrePerso").FindControl(, , "lst1")
     strTxt = MonBtn.Text
     'ici vous mettez vos instructions, exemple :
     MsgBox strTxt
End Sub