Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

userform: liste déroulante dynamique

FREMEAGE

XLDnaute Nouveau
Bonjour,

Est-il possible de créer une liste déroulante dynamique dans un userform?

Par exemple :

si en A1 ma valeur est égale à "MAISON" alors dans ma userform ma liste déroulante sera les cellules B1 à B10. Si par contre ma valeur est égale à "CHATEAU" dans la cellule A1 alors la liste déroulante de ma userform sera les cellules C1 à C10 et ainsi de suite.

Je ne sais pas si c'est possible.

merci pour votre réponse et orientations si vous en avez.
 

JNP

XLDnaute Barbatruc
Re : userform: liste déroulante dynamique

Bonjour Fremeage ,
En utilisant la méthode AddItem dans Initialize :
Code:
Select Case Range("A1")
Case "MAISON"
For I = 1 To 10
ComboBox1.AddItem Cells(I,2)
Next I
Case "CHATEAU"
For I = 1 To 10
ComboBox1.AddItem Cells(I,3)
Next I
' Case tous ce que tu veux
End Select
 

Hulk

XLDnaute Barbatruc
Re : userform: liste déroulante dynamique

Hello, Forum, Fremeage, Jnp,

Une autre version...

Tu changes dans A1 avec la liste, et la Combo prend les valeurs en fonction de...

Cdt, Hulk.
 

Pièces jointes

  • Test Combo.xls
    30 KB · Affichages: 239
  • Test Combo.xls
    30 KB · Affichages: 239
  • Test Combo.xls
    30 KB · Affichages: 247
Dernière édition:

FREMEAGE

XLDnaute Nouveau
Re : userform: liste déroulante dynamique

Bonjour,

Désolée, je n'avais pas de connexion hier et n'ai pu vous répondre.
Je vous remercie pour vos réponses, je vais essayer dans la journée. A vrai dire, j'ai déjà fait cette manipulation il y a un an. Mais j'espérais qu'il existait peut-être un autre moyen que de renvoyer à colonne + x. Car j'ai cette manipulation à faire une 30aine de fois et s'il y avait eu un moyent de donner le numéro de la colonne, ç auait été plus simple.

Je me lance dans la journée et vous tiens informés. Merci encore à vous deux pour votre temps et energie.

FREMEAGE
 

FREMEAGE

XLDnaute Nouveau
Re : userform: liste déroulante dynamique

Bonsoir,
J'ai donc eu un peu d'aide d'un collègue et j'ai opté pour cette formule cette façon de procéder:

Ma première liste de diffusion Combobox1 renseigne la cellule C23 et en fonction de ce renseignement, ma 2nd liste de diffusion Combobox2 va cherche une liste de diffusion différente :

Private Sub ComboBox1_Change()
[C23] = UserForm1.ComboBox1

Select Case UserForm1.ComboBox1.Value
Case "MAISON"
UserForm1.ComboBox2.RowSource = "NOMENCLATURE!D312"
Case "CHATEAU"
UserForm1.ComboBox2.RowSource = "NOMENCLATURE!B3:B14"
Case "CHALET"
UserForm1.ComboBox2.RowSource = "NOMENCLATURE!C3:C11"

End Select
End Sub

En espérant que ça aide d'autres novices comme moi.

Merci encore pour votre aide
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…