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!D3:D12"
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

Statistiques des forums

Discussions
312 771
Messages
2 091 956
Membres
105 127
dernier inscrit
frada