Dim f, a()
Private Sub UserForm_Initialize()
Set f = Sheets("BD")
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("A2:D" & f.[A65000].End(xlUp).Row).Value
For i = LBound(a, 1) To UBound(a, 1)
mondico(a(i, 1)) = ""
Next i
Me.ComboBox1.List = mondico.keys
End Sub
Private Sub ComboBox1_click()
Me.ComboBox2.Clear
Me.ComboBox3.Clear
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 Then mondico(a(i, 2)) = ""
Next i
Me.ComboBox2.List = mondico.keys
Me.TextBox1 = Me.ComboBox1
End Sub
Private Sub ComboBox2_click()
Me.ComboBox3.Clear
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 Then mondico(a(i, 3)) = ""
Next i
Me.ComboBox3.List = mondico.keys
Me.TextBox1 = Me.ComboBox2
End Sub
Private Sub ComboBox3_click()
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 And a(i, 3) = Me.ComboBox3 Then mondico(a(i, 4)) = ""
Next i
Me.ComboBox4.List = mondico.keys
Me.TextBox1 = Me.ComboBox3
End Sub
Private Sub ComboBox4_click()
Me.TextBox1 = Me.ComboBox4
End Sub