Bonjour !
J'aimerais faire en sorte qu'une liste déroulante soit modifiée en fonction de la valeur que prend une autre liste déroulante.
J'ai réalisé ce code :
I allant de 0 à 5, c'est en fonction des ComboBox de i que varieront les autres Combobox : celles numérotées avec J, allant de 6 à 11.
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
18 For i = 0 To 5 For j = 6 To 11 If Controls("Cb" & i) = Range("A1") Then MsgBox "OK" Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!A2:16" ElseIf Controls("Cb" & i) = Range("B1") Then Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!B2:B16" ElseIf Controls("Cb" & i) = Range("C1") Then Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!C2:C16" ElseIf Controls("Cb" & i) = Range("D1") Then Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!D2:D16" ElseIf Controls("Cb" & i) = Range("E1") Then Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!E2:E16" ElseIf Controls("Cb" & i) = Range("F1") Then Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!F2:F16" End If Next j Next i
Le code a l'air de fonctionné, du moins j'ai testé dans un "Change" ce code :
Et il fonctionne, néammoins étant donné qu'il y a 6 choix dans les ComboBox de I, cela ferait un code énorme dans mes Change de Combobox allant de 0 à 5..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Cb0_Change() If Cb0 = Range("A1") Then MsgBox "OK" Cb6.RowSource = "'[testvba8.xlsm]infos'!A2:A16" End If End Sub
J'aimerais donc appliquer cette action(Si ComboBox allant de 0 à 5 = Valeur(6 possibles) alors la liste des valeurs de la ComboBox à côté(allant de 6 à 11) = Liste dans mon tableau.
Je ne sais pas si j'ai été très explicite, n'hésitez pas à me poser des questions si besoin.
Merci beaucoup.
Partager