Re,
A tester...pour les ComboBox....en cascade...
Option Explicit
Dim ws As Worksheet
Dim NbLignes As Integer, Mondico As Object, tb As Variant, i%
Private Sub UserForm_Initialize()
Set ws = Sheets("TEST"): Set Mondico = CreateObject("Scripting.Dictionary")
tb = ws.ListObjects(1).ListColumns(1).DataBodyRange
For i = LBound(tb) To UBound(tb)
If tb(i, 1) <> "" Then Mondico(tb(i, 1)) = ""
Next i
Me.ComboBox1.List = Mondico.keys
End Sub
Private Sub ComboBox1_Change()
Set ws = Sheets("TEST"): Set Mondico = CreateObject("Scripting.Dictionary")
tb = ws.ListObjects(1).DataBodyRange
ComboBox2.Clear
For i = LBound(tb, 1) To UBound(tb, 1)
If tb(i, 1) = ComboBox1 Then Mondico(tb(i, 2)) = ""
Next i
Me.ComboBox2.List = Mondico.keys
End Sub
Private Sub ComboBox2_Change()
Set ws = Sheets("TEST"): Set Mondico = CreateObject("Scripting.Dictionary")
tb = ws.ListObjects(1).DataBodyRange
ComboBox3.Clear
For i = LBound(tb, 1) To UBound(tb, 1)
If tb(i, 2) = ComboBox2 Then Mondico(tb(i, 3)) = ""
Next i
Me.ComboBox3.List = Mondico.keys
End Sub
Private Sub ComboBox3_Change()
Set ws = Sheets("TEST"): Set Mondico = CreateObject("Scripting.Dictionary")
tb = ws.ListObjects(1).DataBodyRange
ComboBox4.Clear
For i = LBound(tb, 1) To UBound(tb, 1)
If tb(i, 3) = ComboBox3 Then Mondico(tb(i, 4)) = ""
Next i
Me.ComboBox4.List = Mondico.keys
End Sub
Private Sub ComboBox4_Change()
Set ws = Sheets("TEST"): Set Mondico = CreateObject("Scripting.Dictionary")
tb = ws.ListObjects(1).DataBodyRange
ComboBox5.Clear
For i = LBound(tb, 1) To UBound(tb, 1)
If tb(i, 4) = ComboBox4 Then Mondico(tb(i, 5)) = ""
Next i
Me.ComboBox5.List = Mondico.keys
End Sub
Cordialement,