Bonsoir à tous
Je veux créer des listes déroulantes dépendantes avec les code VBA mais je constate qu'il y a une erreur sur mes codes. voici les codes
Déclaration des variables
Dim Colonne As Integer
Dim I As Integer, J As Integer
pour la première liste je tape
'chargement de la liste des centres
Private Sub UserForm_Initialize()
'initialisation des variables
Colonne = 2 ' affectation du numéro de colonne à 2 car première donnée en collonne B
'on efface la couleur de remplissage des entêtes de colonnes, ici les noms des régions
Sheets("liste").Range("b2:r2").Interior.ColorIndex = Clear
' on utilise une boucle qui va charger les noms des régions dans la liste déroulante
Do While Cells(2, Colonne).Value <> ""
UserForm1.T1.AddItem Cells(2, Colonne).Value
Colonne = Colonne + 1 'on incrémante le numero de colonne afin de passer à la colonne
Loop
End Sub
et ceci marche à mon avis, mais pour le niveau 2 je tape ce code
Private Sub T1_Change()
I = 2
UserForm1.T2.Clear
Sheets("liste").Range("b2:r2").Interior.ColorIndex = Clear
Do While Cells(2, I).Value <> ""
If Cells(2, I).Value = T2.Value Then
Cells(2, I).Select
ActiveCell.Interior.ColorIndex = 32
Colonne = ActiveCell.Column
End If
I = I + 1
Loop
J = 3
Do While Cells(J, Colonne).Value <> ""
UserForm1.T2.AddItem Cells(J, Colonne).Value
J = J + 1
Loop
T2.ListIndex = 0
End Sub
Et ici je constate qu'au débogage la VBA il détecte la ligne du code "T2.ListIndex = 0".
le fichier original utilisé est joint.
Merci