Excel doublons sur plusieurs feuilles [Résolu]

Messages postés
2
Date d'inscription
dimanche 9 juillet 2006
Dernière intervention
7 janvier 2007
- - Dernière réponse : mistercool1986
Messages postés
2
Date d'inscription
dimanche 9 juillet 2006
Dernière intervention
7 janvier 2007
- 7 janv. 2007 à 22:36
bonjour,  je voulais savoir si c'était possible de faire une macro vba qui me permetterais de trouver des doublons sur deux feuilles différentes

par exemple j'ai une liste sur la colonne a de la feuille 1 et une  la liste de la colonne a de la feuille 2

j'aimerais trouver les doublons sur les deux listes

Merci d'avance pour votre aide.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
3
Merci
Quand tu dis doublon ? Tu veux dire que tu veux juste chercher si un élément de ta liste 1 se retrouve dans la liste 2 ? En gros des doublons entre liste, ou aussi des doublons au sien même de la liste ?

Dans le premier cas, même pas besoin de code comme d'habitude, avec la formule RECHERCHEV, tu compares un élément de ta liste 1 avec toute la liste 2 et si un doublon existe, dans la cellule où tu as mis la formule, sera affiché l'élément (ou autre chose hein, c'est toi qui voit ^^). S'il ne trouve pas, il affiche par défaut un #N/A
Il suffit de coupler avec les formules ESTERREUR et SI pour obtenir une chose de propre.

Exemple :
Feuille1, liste 1
A1: Toto
A2: Tata
A3: Titi

Feuille 2, liste 2
A1: Test
A2: Tata
A3: Re-Test

Pour vérifier les doublons de ta liste1 dans la liste 2, il te suffit de mettre la formule suivante :
Feuille1, B1: =SI(ESTERREUR(RECHERCHEV(A1;Feuille2;1;FAUX))=VRAI;"";"Doublon")
Et de recopier la formule sur toutes les lignes de ta liste (un simple double-clic te fera ça en 1 seconde ^^)

Et voilà, en face de chaque élément de ta liste 1 sera marqué "Doublon" s'il existe aussi dans la liste 2.
Bien entendu, tu n'as plus qu'à faire la même chose pour contrôler les doublons de la liste 2 dans la liste 1, etc ...

Avec une macro VBA, je toruve ça nettement plus compliqué, enfin, moins pratique et bcp plus gourmand en temps. Il faudrait par ex. faire une boucle sur ta liste 1, qui passerait sur chaque valeur. Avec la méthode .Find d'Excel (utilise l'enregistreur de macro pour avoir la syntaxte), controler si on trouve cet élément ailleurs dans le classeur, et ainsi de suite pour chaque élément.
Alors qu'une bonne vieille formule et deux trois clics te fournissent instantanément la réponse

Molenn

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Molenn
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Dernière intervention
12 octobre 2008
3
Merci
bonjour

tu peux tester cette macro

Dim Plage As Range, Cell As Range
Dim Ligne As Integer, i As Integer, k As Integer
Dim Tableau() As Variant


i = 1


With Sheets("Feuil1")
    Ligne = .Range("A65536").End(xlUp).Row
    Set Plage = .Range("A1:A" & Ligne)
   
    ReDim Tableau(1 To Ligne, 1 To 2)
   
    For Each Cell In Plage
        If Application.CountIf(Sheets("Feuil2").Range("A:A"), Cell) > 0 Then
        k = Application.CountIf(.Range("A1:A" & Ligne), Cell)


        Tableau(i, 1) = Cell
        Tableau(i, 2) = k
        i = i + 1
        End If
    Next Cell
End With


'Copie du tableau
Sheets("Feuil3").Range("A1:A" & Ligne) = Tableau

michel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de michelxld
Messages postés
2
Date d'inscription
dimanche 9 juillet 2006
Dernière intervention
7 janvier 2007
0
Merci
Merci pour votre aide

bonne soirée
Commenter la réponse de mistercool1986

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.