Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cel As Range, r As Range, f$
Set cel = [A2] 'à adapter
cel.Validation.Delete 'RAZ
If Target.Address <> cel.Address Then Exit Sub
Set r = Range("C2", Range("C" & Rows.Count).End(xlUp)) 'à adapter
If r.Row < 2 Then Exit Sub
For Each r In r
If r <> "" Then If InStr(f & ",", "," & r & ",") = 0 Then f = f & "," & r
Next
cel.Validation.Add xlValidateList, Formula1:=Mid(f, 2) 'création de la liste en dur, elle est limitée à 8192 caractères
End Sub