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.
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
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.
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.