Recherche de Doublons

Bonjour à tous,

Je vous sollicite afin d'avoir un peu d'aide pour un de mes documents sur excel.

J'ai un fichier avec deux feuilles, sur la première feuille sont présents des noms de personne avec une date, dans la seconde feuille également des personnes avec là aussi une date.

Entre les deux feuilles il y a des doublons concernant les noms de personnes et les dates.

Mon objectif est de "surligner" ou extraire ces doublons.

Là ou le problème se corse c'est que les deux feuilles ont des nombres de lignes différents, de plus je ne dois considérer comme doublon entre les deux feuilles que les noms se répétant avec des dates identiques:

Par exemple dans mon fichier d'exemple, Eve Angeli est présente plusieurs fois dans les deux feuilles mais je ne souhaite que sois considéré comme doublon que la fois ou elle apparaît avec des dates identiques d'une feuille à l'autre.

Comme je ne pense pas être très clair, je vous mets un exemple,

Merci!

Bonjour @ tous,

Voir PJ

@ + +

Merci de ta réponse.

J'ai un petit soucis lorsque j'applique ta formule à mon tableau, sur ma feuille 1 j'ai plus de 3000 valeurs et sur ma feuille 2, 300 environ.

Lorsque j'adapte la formule à mon document, il ne me sort à chaque coup que 5 doublons sans vouloir aller plus loin.

Peut-être que cela vient de cette partie de la formule:

"1:"&LIGNES(Col_Pers1))));LIGNES($3635:3639)));"") je ne sais pas ce que je dois mettre ici.

Merci!

Hello Gardlamo.

Regarde si ça te conviens.

Cdlt.

Merci de ta réponse.

En adaptant le code à mon fichier, il me sort certain doublons mais en oublie énormément.

Ça sollicite le processeur de mon ordinateur fortement puisque quand j’exécute la macro, l'ordi ne répond plus pendant 10 secondes environ.

Je mets le code que j'ai modifié pour essayer de voir là où j'ai pu me tromper:

02P correspond à la feuille "personnes prévues" de l'exemple et 02 NP "non prévues"

Comme je l'ai dit précédemment, j'ai plus de 3300 lignes sur "02P" et environ 300 sur "02 NP"

Sub doublon()
derligneF1 = Worksheets("02P").Cells(Rows.Count, 1).End(xlUp).Row
derligneF2 = Worksheets("02 NP").Cells(Rows.Count, 1).End(xlUp).Row

For A = 2 To derligneF1
    Dim TabF1(2)
    With Worksheets("02P")
        Set TabF1(0) = .Cells(A, 1)
        Set TabF1(1) = .Cells(A, 2)
    End With

For B = 2 To derligneF2
    Dim TabF2(2)
    With Worksheets("02 NP")
        Set TabF2(0) = .Cells(B, 1)
        Set TabF2(1) = .Cells(B, 2)
    End With

    If TabF1(0) = TabF2(0) And TabF1(1) = TabF2(1) Then
        Worksheets("02 NP").Range("A" & B, "B" & B).Interior.Color = vbRed
    End If
Next B

Next A

Worksheets("02 NP").Select

End Sub

Re,

essaye ce code pour voir si les doublons sont trouvés car je pense que tes noms doivent être écris différemment au niveau majuscule minuscule.

Sub doublon()
t = Timer
derligneF1 = Worksheets("02P").Cells(Rows.Count, 1).End(xlUp).Row
derligneF2 = Worksheets("02 NP").Cells(Rows.Count, 1).End(xlUp).Row

For A = 2 To derligneF1
    Dim TabF1(2)
    With Worksheets("02P")
        Set TabF1(0) = .Cells(A, 1)
        Set TabF1(1) = .Cells(A, 2)
    End With

For B = 2 To derligneF2
    Dim TabF2(2)
    With Worksheets("02 NP")
        Set TabF2(0) = .Cells(B, 1)
        Set TabF2(1) = .Cells(B, 2)
    End With

    If UCase(TabF1(0)) = UCase(TabF2(0)) And TabF1(1) = TabF2(1) Then
        Worksheets("02 NP").Range("A" & B, "B" & B).Interior.Color = vbRed
    End If
Next B

Next A

Worksheets("02 NP").Select
MsgBox ("Temps d'exécution :" & Timer - t)

End Sub

Cdlt

Effectivement j'ai bien un problème de syntaxe, j'ai essayé en copiant collant d’une feuille à l'autre et ça marche.

j'ai copié la mise en forme de ma première feuille sur la deuxième mais sans succès.

Des idées de comment je peux faire, je ne vais pas changer mes 3000 noms à la main sinon je me tire une balle

(c'est quand même surprenant car de visu, les noms sont écris exactement de la même façon, je ne vois pas où cela cloche)

Merci

Edit: Chose surprenante il me trouve bien tous les doublons commençant par "enf. nom de la personne" mais aucun avec "M. nom de la personne" ou "Mme. nom de la personne"

Si tu pouvais me fournir une liste avec des cas où ça ne fonctionne pas pour que je puisse me rende compte de l'ampleur du problème ça serait plus simple.

Cdlt.

Je t'ai mis un exemple qui ne marche pas,

merci

Voilà maintenant ça fonctionne pour ton exemple.

L'explication c'est qu'il y a un espace devant ton nom.

J'ai donc rajouté un tit bout de code qui supprime les espaces avant et après chaque nom de ta première et ta seconde feuille avant des les comparer dis moi si celà fonctionne.

Cdlt.

Alors avec ce code là, il me sort plus de doublons mais qu'avec le même nom.

Je n'ai plus qu'un nom de personnes qui ressort.

je mets une capture en pj.

Merci

test doublons resultat

petit up

Hello gardlamo.

celà fonctionne qu'avec des valeurs de cellules identiques.

Si tu as "Mme Tartanfion" et que tu compares avec "Tartanfion" dans ton autre tableau pour excel il dira que c'est différent pareil pour "Mme Tartanfion" et "mme Tartanfion" les majuscules sont prises en compte également.

Du coup difficile de voir ce qui coince dans ta comparaison.

Cdlt.

Hello,

Oui c'est pour cela que je ne comprends pas pourquoi ça ne marche pas!

Les valeurs dans les cellules sont exactement les mêmes (à la vue y'a aucune différence, j'ai fait un copier-coller de la mise en forme d'une feuille à l'autre mais sans succès!)

Tu me parlais d'un espace sur mon précédent exemple, mais avec ta macro pour le supprimer, ça bug un peu. (d'ailleurs je ne vois pas où est cet espace, ça commence à me rendre dingue, je ne comprends pas).

Dans ton exemple précédent l'espace se situait après le nom du genre Mme chose_ où le _ représente l'espace.

Si tu veux fournit moi ton fichier en MP mais là comme ça je vois pas trop où est le problème.

Cdlt.

Rechercher des sujets similaires à "recherche doublons"