Bonjour,
Je travaille sur un petit projet afin de comprendre et d'utiliser les Userforms.
Dans ce cadre, j'ai une idée en tête mais je n'arrive pas à l'appliquer....
J'aimerai que si je choisis un "nom" dans la ComboBox 1, la liste de la ComboBox 2 varie en fonction de ce nom.
Par exemple:
ComboBox 1 contient "orange, citron, banane", si je choisis "citron", la ComboBox 2 me donnera comme choix "presser, manger,..."
Si je choisis "orange", la combobox2 m'affichera "décoration, ..."
Pour cela j'ai écris cela:
Ma ComboBox1 contient bien les données que je lui demande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub UserForm_Initialize() Me.ComboBox1.RowSource = "Info_Userform1!A2:A8" 'Récupération des Données If Me.ComboBox1.Value = "Orange" Then Me.ComboBox2.RowSource = "Info_Userform1!C2:C8" End If If Me.ComboBox1.Value = "Banane" Then Me.ComboBox2.RowSource = "Info_Userform1!D2:D8" End If If Me.ComboBox1.Value = "Citron" Then Me.ComboBox2.RowSource = "Info_Userform1!F2:F8" End If End Sub
Par contre ma ComboBox2 ne contient que les données "Info_Userform1!C2:C8". Et ce quelque soit le choix effectué en combobox1....
J'ai essayé de changer la manière d'écrire, je remplace:
Par:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 If Me.ComboBox1.Value = "Banane" Then Me.ComboBox2.RowSource = "Info_Userform1!D2:D8" End If
Et la je n'ai carrément plus aucune info dans ma combobox2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For i = 2 To 8 If Me.ComboBox1.Value = "Banane" Then Me.ComboBox2.RowSource = Worksheets("Info_Userform1").Cells(i, 1) End If Next i
Partager