Re : Combobox
Private Sub UserForm_Initialize()
Set MonDico = CreateObject("Scripting.Dictionary")
Set f = Sheets("bd2")
Set Dpt = f.Range("A2:A" & f.[A65000].End(xlUp).Row)
Set cp = f.Range("b2:b" & f.[b65000].End(xlUp).Row)
Set ville = f.Range("c2:c" & f.[c65000].End(xlUp).Row)
temp = Dpt
For i = 1 To UBound(temp, 1)
MonDico(temp(i, 1)) = 1
Next i
Me.ComboBox1.List = MonDico.keys
Me.ComboBox1.SetFocus
SendKeys "{F4}"
End Sub
Private Sub ComboBox1_Change()
Set MonDico = CreateObject("Scripting.Dictionary")
d = Application.Match(Me.ComboBox1, Dpt, 0)
Me.ComboBox2.Clear
For i = d To d + Application.CountIf(Dpt, Me.ComboBox1) - 1
MonDico(cp(i).Value) = 1
Next i
Me.ComboBox2.List = MonDico.keys
Me.ComboBox2.SetFocus
SendKeys "{F4}"
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2 <> "" Then
Me.ComboBox3.Clear
d = Application.Match(Val(Me.ComboBox2), cp, 0)
If IsError(d) Then d = Application.Match(Me.ComboBox2, cp, 0)
For i = d To d + Application.CountIf(cp, Me.ComboBox2) - 1
Me.ComboBox3.AddItem ville(i)
Next i
Me.ComboBox3.SetFocus
SendKeys "{F4}"
End If
End Sub
Private Sub ComboBox3_Change()
no_ligne = Range("A65536").End(xlUp).Row + 1
Cells(no_ligne, 37) = ComboBox3.Value
Cells(no_ligne, 38) = ComboBox2.Value
Cells(no_ligne, 39) = ComboBox1.Value
Unload Me
End Sub