IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recherche de doublons


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 94
    Par défaut Recherche de doublons
    Bonjour à tous,

    Je reviens vers vous aprés avoir chercher en vain une solution à mon problème.

    Sur un tableau de données excel de 5000 lignes, je souhaite rechercher les lignes en doublons sur deux colonnes.
    Exemples

    Dans la 1iere colonne (Col A) j'ai une liste de code, dans une 2ieme colonne (Col B) j'ai une liste de nom

    A un nom peu correspondre plusieurs codes, mais pour un même code il ne peut y avoir de doublon de nom
    Exemple ci-dessous
     Col A       Col B
    X001         Dupont
    X001         Dupont
    X002         Dupont
    Les codes correspondent à des formations, donc si le nom peut avoir plusieurs formations, un même code formation ne peut avoir le même nom sur deux lignes.
    En fait il faudrait s'assurer que pour un nom il ne peut y avoir deux lignes ayant le même code.

    Je ne sais si j'ai étais clair dans mes explications

    Par avance merci de votre aide

    Cordialement

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Septembre 2015
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 77
    Par défaut
    Bonjour,

    Pour repérer tes doublons, selectionne tes deux colonnes puis dans l'onglet acceuil tu vas dans Mise en forme conditionnelle ==> regles de mise en surbrillances des cellulles ==> valeurs en doubles.
    tes valeurs en double vont être coloriées et ainsi identifiées.

    Afin de les supprimer directement, tu pourras utiliser directement une autre fonction, en selectionnant tes deux colonnes et en allant vers donnée ==>puis supprimer les doublons.

    Cordialement,
    Freudsw

  3. #3
    Membre confirmé Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Bonjour,
    Personnellement, j'utilise le même principe que Freudsw mais dans une colonne unique ou je concatène les valeurs des 2 autres car la MFC sur 2 colonnes ne me donne pas satisfaction.
    Ex de formule a mettre en colonne C:
    Comme ça si tu as même NOM & même Formation, la couleur change et tu peux même filtrer tes donner par couleur par exemple.

    Apres, si tu as beaucoup de données, tu peux vouloir les effacer par macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Efface_doublons()
    Dim Difference%, DernLigne%
        DernLigne% = ThisWorkbook.Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
        ThisWorkbook.Sheets("Feuil1").Range("a1").CurrentRegion.RemoveDuplicates Columns:=3, Header:=xlGuess
        Difference% = DernLigne% - ThisWorkbook.Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
        MsgBox "Traitement des doublons effectué: " & Difference% & " ligne(s) supprimée(s)"
    End Sub
    Seule la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("Feuil1").Range("a1").CurrentRegion.RemoveDuplicates Columns:=3, Header:=xlGuess
    est nécessaire avec ton nom d'onglet au lieu de Feuil1 et Columns:=3 si tu as bien mis les valeurs concaténées en colonne C ( avec plage de données contiguës)

    Cdt

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 94
    Par défaut Recherche de Doublons
    Merci à tous les deux pour votre aide.
    J'avais momentanément régler le problème avec les formules ci-dessous dans les deux colonnes adjacentes
    Colonne X =SI(A4<>"Zone libre";A4&F4;"Zone libre")
    Colonne Y =SI(NB.SI($X$4:X4;X4)>1;"Doublon";"")

    Cela marche bien, mais mon fichier est beaucoup plus lent, les formules copiées sur 5500 lignes ont alourdies le fichier. Je suis à 11Mo au lieu de 5Mo auparavant.
    Cela me gene un peu, beaucoup moins confortable à l'utilisation maintenant.
    Je vais essayer vos solutions pour voir si j'y trouve un gain, mais je ne veux que repérer les lignes en doubles et non les supprimer (en tout cas pas automatiquement)

    Je vous tiens au courant de la suite

    Encore merci à vous

    Cordialement

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/11/2005, 15h24
  2. Recherche de doublons "non strict"
    Par Oluha dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2005, 10h21
  3. [VBA] Algo de recherche de doublons
    Par guams dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/07/2004, 18h10
  4. recherche de doublons dans un fichier texte
    Par portu dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 07/10/2003, 15h13
  5. Réponses: 2
    Dernier message: 19/08/2003, 19h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo