Repérage de doublons dans 2 feuilles

Elodie29

XLDnaute Nouveau
Bonjour,

Je rencontre à peu de choses prêt le même problème que Yoda60 dans son post

C'est-à-dire :

Dans une feuille, colonne E, j'ai une liste de numéros de clients.

J'ai besoin d'être avertie, en entrant un numéro de client dans cette liste, si ce numéro apparait dans ma feuille "SUIVI", colonne B.

Le fonctionnement proposé dans le post cité ci-dessus me convient tout à fait (une couleur dans la case précédent la donnée doublon)

J'espérais qu'une formule aurait suffi, mais après de nombreuses recherches, je n'y parviens pas...

Je souhaite donc adapter et intégrer à mon tableau la programmation donnée par Fred0o, mais je n'ai aucune connaissance en matière de VBA et ne sais pas comment m'y prendre.

Pouvez-vous m'indiquer la marche à suivre ?

Merci d'avance !
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Repérage de doublons dans 2 feuilles

Bonjour Elodie, bonjour le forum,

Un fichier en pièce jointe serait l'idéal !!! Soit ton fichier original, si il ne contient pas de données confidentielle et si il n'est pas trop volumineux, soit un fichier exemple, reprenant la structure de ton original (nom des onglets, plage nommés etc.) avec juste quelques données. On pourra alors te faire du sur mesure et té xpliquer comment on a fait...
 

Elodie29

XLDnaute Nouveau
Re : Repérage de doublons dans 2 feuilles

Ci-joint une version allégée et non confidentielle de mon fichier.

L'original contient largement plus d'onglets : 1 par mois depuis 2008 + l'onglet de SUIVI qui est tout récent.

Chaque mois, je récupère dans un logiciel une liste de clients, avec une multitude de données que j'ajoute à un l'onglet correspondant au mois en cours.

Tout au long de l'année, j'ai également des données importantes concernant le traitement des dossiers de certains clients, je les ajoute dans l'onglet SUIVI.

Lorsque j'ajoute ma liste mensuelle de clients, j'ai besoin d'être avertie si l'un d'eux apparaît dans l'onglet de suivi.

J'ai donc rajouté la colonne C dans mes onglets mensuels afin qu'une croix rouge puisse y être affichée si c'est le cas.

Je précise également que mon tableau original comprend pour les onglets mensuels jusqu'à 150 lignes et pour l'onglet suivi, il n'est pas encore très garni mais il est amené à l'être.
Il y a également plusieurs formules et des mises en formes conditionnelles.

J'espère avoir réussi à être claire dans mes explications !
 

Pièces jointes

  • Sorties rec.xlsx
    16.5 KB · Affichages: 48

Robert

XLDnaute Barbatruc
Repose en paix
Re : Repérage de doublons dans 2 feuilles

Bonsoir Elodie, bonsoir le forum,

En pièce jointe ton fichier modifié avec la macro ci-dessous :
Code:
Sub Macro1()
Dim dls As Long 'déclare la variable dls (Dernière Ligne onglet Suivi)
Dim pls As Range 'déclare la variable pls (PLage onglet Suivi)
Dim o As Byte 'décalre la variable o (Onglets)
Dim dl As Long 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable Pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)

With Sheets("SUIVI") 'prend en compte l'onglet "SUIVI"
    dls = .Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée dls de la colonne B
    Set pls = .Range("B2:B" & dls) 'définit la plage pls
End With 'fin de la prise en compte de l'onglet "SUIVI"
For o = 1 To Sheets.Count 'boucle 1 : sur tous les onglets du classeur
    If Sheets(o).Name <> "SUIVI" Then 'condition 1 : si le nom du classeur est différent de "SUIVI"
        With Sheets(o) 'prend en compte l'onglet o
            dl = .Cells(Application.Rows.Count, 5).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne E
            Set pl = .Range("E5:E" & dl) 'définit la plage pl
        End With 'fin de la prise en compte de l'onglet o
        For Each cel In pl 'boucle 2 : sur toutes les cellules cel de la plage pl
            Set r = pls.Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
            If Not r Is Nothing Then 'condition 2 : si il existe au moins une occurrence trouvée
                cel.Offset(0, -2).Value = r.Address(0, 0) 'récupère l'adresse de la première occurrence trouvée
                cel.Offset(0, -2).Interior.ColorIndex = 3 'colore la cellule de rouge
            End If 'fin de la condition 2
        Next cel 'prochaine cellule de la boucle 2
    End If 'fin de la condition 1
Next o 'prochain onglet de la boucle 1
End Sub
Le fichier :
 

Pièces jointes

  • Elodie_v01.xls
    54 KB · Affichages: 47

Discussions similaires

Statistiques des forums

Discussions
312 356
Messages
2 087 569
Membres
103 596
dernier inscrit
matthieu.devillers76