Merci aussi à Leakim pour le temps passé !
Je te conseille quand même d'ajouter :
Me.Ville = ""
' ...
Me.VilleEvenement = ""
' ...
avant le .clear
Private Sub cp_Change()
If Len(Me.cp.Value) < 5 Then Exit Sub
Me.Ville = ""
With Me.Ville
.Clear
For Each cel In Sheets("CPF").Columns(1).SpecialCells(xlCellTypeConstants)
If UCase(Me.cp) = UCase(cel) Then .AddItem cel.Offset(0, 1).Value
Next
.SetFocus
.DropDown
End With
End Sub
Private Sub ville_Change()
For Each cel In Sheets("CPF").Columns(2).SpecialCells(xlCellTypeConstants)
If UCase(cel) = UCase(Me.Ville) And cel.Row > 1 Then
Me.Ville = cel
Me.cp = cel.Offset(0, -1)
Exit Sub
End If
Next
End Sub
Private Sub CpEvenement_Change()
If Len(Me.CpEvenement.Value) < 5 Then Exit Sub
Me.VilleEvenement = ""
With Me.VilleEvenement
.Clear
For Each cel In Sheets("CPF").Columns(1).SpecialCells(xlCellTypeConstants)
If UCase(Me.CpEvenement) = UCase(cel) Then .AddItem cel.Offset(0, 1).Value
Next
.SetFocus
.DropDown
End With
End Sub
Private Sub VilleEvenement_Change()
For Each cel In Sheets("CPF").Columns(2).SpecialCells(xlCellTypeConstants)
If UCase(cel) = UCase(Me.VilleEvenement) And cel.Row > 1 Then
Me.VilleEvenement = cel
Me.CpEvenement = cel.Offset(0, -1)
Exit Sub
End If
Next
End Sub