Bonjour,

Je sais que ce sujet a déjà beaucoup été traité mais les résultats obtenus par une recherche sur le forum ne me permettent pas de m'en sortir. J'ai essayé mais je n'y arrive pas complètement...
J'ai une feuille avec 5 colonnes (nom, prénom, date naissance, n° dossier, classeur).
J'ai jusqu'ici encodé presque 200 lignes mais le problème est que j'ai souvent des doublons.
Je voudrais, lorsque j'ai entré les valeurs des 4 premières colonnes, et si d'autres lignes ont déjà le même contenu, que je sois averti de l'existence de ces doublons...

J'ai d'abord essayé uniquement une recherche sur le contenu de la première colonne et je fais apparaitre une messagebox si la ligne existe déjà.

Le find trouve et pointe bien chaque ligne dans la feuille ou le nom existe déjà mais part dans une boucle infinie si je ne place pas un end en fin de procédure mais alors le find s'arrète à la première occurence seule et ne m'avertit pas de l'existence des suivantes

J'ai essayé une boucle et aussi des conditions... Comment faire pour qu'une messagebox apparaisse et que le find me pointe chaque ligne ou existe le même nom que celui entré dans la dernière ligne de la feuille sans partir dans une boucle infine ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim Nom As String
Dim compare As Boolean
Dim lastRow As Integer

Nom = Range("A" & target.Row).Value

lastRow = target.Row

    compare = Cells.Find(What:=Nom, After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate


Rem If compare = True And target.Row <> lastRow Then

MsgBox ("Ce nom existe déjà !")

Rem End If

End

End Sub