Bonjour Famdsm, bonjour le forum,
J'imagine que les doublons ne concernent que la colonne D : Nom et Prénom ?
J'ai des messages d'erreur car mon PC est 64 bits mais si c'est ça, le code ci-dessous devrait fonctionner :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
If Target.Column <> 4 Then Exit Sub 'si le changement a lieu ailleurs que dans la colonne 4 (=> colonne D), sort de la procédure
If Target.Row = 1 Then Exit Sub 'si le changement a lieu dans la ligne 1, sort de la procédure
If Target.Value = "" Then Exit Sub 'si la cellule est effacée, sort de la procédure
DL = Cells(Application.Rows.Count, "D").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne D
For I = 2 To DL - 1 'boucle sur toutes les lignes I de la seconde à DL - 1
'condition 1 : si le nouveau nom/prenom éditée existe déjà (convertie en majuscule pour autoriser tous les cas de figure)
If UCase(Cells(I, "D").Value) = UCase(Target.Value) Then
'condition 2 : si "Oui" au message
If MsgBox("Ce Nom et Prénom existe déjà ! Voulez-vous effacer la donnée, cliquer sur [Oui] ou accepter ce doublon, cliquez sur [Non].", vbYesNo, "ATTENTION !") = vbYes Then
Target.Value = "" 'efface le doublon
Target.Select 'sélectionne la cellue éditée
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
End If 'fin de la condition 1
Next I 'prochaine ligne de la boucle
End Sub