Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, m As Object
If Not Intersect([C7:C20000], Target) Is Nothing And Target.Count = 1 Then
Set m = CreateObject("Scripting.Dictionary")
For Each c In Range("c7", Cells(Rows.Count, "c").End(xlUp))
m(c.Value) = m(c.Value) + 1
If m(c.Value) > 1 Then _
MsgBox "Cette date de naissance est déjà connue dans la base" & vbCr & "Vérifier qu'il n'existe pas de dossier enregistré pour la" & vbCr & "même personne."
Next c
End If
End Sub