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 :

Suppression Doublons en comparaison de plusieurs colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Suppression Doublons en comparaison de plusieurs colonnes
    Bonjour,
    Je viens vers vous car j'ai besoin d'aide sur une macro
    voici mon problème :

    J'ai un tableau avec un nombre important de lignes, il comporte plusieurs colonnes et je souhaiterais avec l'aide d'une macro supprimer les doublons en faisant la comparaison des colonnes de A à G.
    Je n'ai pas trouvé quand chose sur le net qui puisse correspondre à mon problème.

    j’espère avoir été assez claire
    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 953
    Points : 28 961
    Points
    28 961
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Comme tu ne précises pas la version d'excel que tu utilises il est difficile de te répondre avec précision.
    Sauf si c'est impératif, il n'y a pas de raison d'écrire une macro pour cela.
    Depuis la version 2007, il existe une commande pour supprimer les doublons et cette commande se trouve dans le groupe Outils de données de l'onglet [Données].
    Pour la version 2003, il faut utiliser le filtre avancé

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Tu devrais préciser ce que tu entends par doublon.
    Deux valeurs identiques dans la colonne A.
    Deux valeurs identiques dans la colonne G.
    Une valeur de la colonne A identique à celle de la colonne G sur la même ligne.
    Des valeurs de la colonne A identiques à celle d’une cellule de la colonne G.
    Des valeurs de la colonne G identiques à celle d’une cellule de la colonne A.

    Cordialement.

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci pour cette réponse, mais malheureusement j'ai besoin de cette macro pour excel 2003.
    Je connais effectivement le bouton permettant de supprimer les doublons dans 2007 et il est bien pratique mais je travaille sur celui de 2003 et le filtre élaboré de prend pas toutes les colonnes.
    Merci de votre aide

    Bonjour,

    Tu devrais préciser ce que tu entends par doublon.
    Deux valeurs identiques dans la colonne A.
    Deux valeurs identiques dans la colonne G.
    Une valeur de la colonne A identique à celle de la colonne G sur la même ligne.
    Des valeurs de la colonne A identiques à celle d’une cellule de la colonne G.
    Des valeurs de la colonne G identiques à celle d’une cellule de la colonne A.

    Cordialement.
    identiques sur toutes les colonnes
    avoir les mêmes lignes avec colonnes identiques

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 953
    Points : 28 961
    Points
    28 961
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je connais effectivement le bouton permettant de supprimer les doublons dans 2007 et il est bien pratique mais je travaille sur celui de 2003 et le filtre élaboré de prend pas toutes les colonnes.
    Je n'aimerais pas donner le sentiment d'avoir raison mais je doute que l'on soit limité dans le nombre de colonnes avec le filtre élaboré d'excel quant à la suppression de doublons.
    Combien de colonnes as-tu et quels sont les colonnes entrant dans les critères ?

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    j'ai 7 colonnes au total

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 953
    Points : 28 961
    Points
    28 961
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Deux cas.
    L'un les doublons sont à vérifier sur toutes les colonnes, l'autre les doublons à vérifier sont sur 2 colonnes mais la solution fonctionne sur plusieurs colonnes.
    Exemple d'une base de données référencées A1:G106 et dont on va extraire les données vers L1
    Copier les étiquettes de colonnes vers un autre endroit de la feuille par exemple L1:R1

    Cas n°1 – Les doublons sont sur l'ensemble des colonnes
    Dans la boîte de dialogue Filtre Elaboré
    Sélectionner : Copier vers un autre emplacement
    Plage : A1:I106
    Copier dans : L1:R1
    Sélectionner : Extraction sans doublons

    Cas n° 2 – Les doublons sont sur 2 ou plusieurs colonnes
    Solution par concaténation
    Dans cet exemple, les colonnes doubles à tester sont sur les colonnes F & G
    (Création d'une colonne H pour concaténer)
    Dans la cellule H1 taper cette formule =F1&G1 et copier vers le bas.
    En cellule J1 écrire Double (Nom de l'étiquette)
    En J2 taper cette formule =NB.SI($H$2:H2;H2)=1
    Dans la boîte de dialogue Filtre Elaboré
    Sélectionner : Copier vers un autre emplacement
    Plage : A1:I106
    Copier dans : L1:R1
    Zone de critères : J1:J2

    Attention : Si l'extraction doit se faire sur une autre feuille, il faut se placer sur la feuille de destination avant de sélectionner le filtre élaboré

    Pour un code VBA, je te renvoie vers cette discussion qui a eu lieu aujourd'hui sur le même sujet

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    merci pour le lien
    mais pour tout vous dire c'est vraiment du chinois pour moi
    voici la macro que j'ai pour une colonne elle est simple et marche parfaitement pour une colonne mais pas 7
    j'aimerais rajouter la condition Colums ("A:G")
    mais je n'arrive pas a avoir de résultat

    Un GRAND MERCI POUR VOTRE AIDE


    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
    Sub supprimé doublons()
     
    MaCellule = ("B6")
    Range(MaCellule).Select
    ActiveCell.CurrentRegion.Sort Key1:=Range(MaCellule), Order1:=xlAscending, Header:=xlYes
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select
     
    While ActiveCell <> ""
    If ActiveCell = donnee1 Then
    ActiveCell.EntireRow.Delete
    ActiveCell.Offset(-1, 0).Select
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select
    Else
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select
    End If
    Wend
    End Sub

  9. #9
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Peux-tu tester le filtrage du fichier joint avec XL2003 ?

    Cordialement.
    Fichiers attachés Fichiers attachés

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je ne pourrais le tester que demain sur mon pc de boulot
    en revanche il fonctionne parfaitement avec 2007, par contre est ce qu'il serait possible de rajouter la suppression après le filtre ... ou retranscrire le tableau sans les doublons dans la feuille 2 ?
    si ce n'est pas possible, un grand merci car c'est déjà ça
    je l'essaie demain à la première heure

  11. #11
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Ci-joint le filtrage avec retranscription du tableau sans les doublons dans la feuille 2.
    Ce filtrage est effectué avec un filtre élaboré. Je t'ai demandé de faire le test car je ne dispose que de XL2007 et surtout parce que je ne vois pas ce qui empêche ce filtrage avec XL2003.

    Cordialement.
    Fichiers attachés Fichiers attachés

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2012
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour ce nouveau fichier
    j'essaie tout ça demain sur le 2003 et reviens vers toi pour te dire si cela fonctionne
    merci de ton aide

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut heu!...
    bonjour
    j'ai trouvé la question intéressante bien que posée plusieurs fois déjà

    j'ai fait quelques essais avec 2 boucles imbriquée plus une troisiemes (find et find next)

    mais je me suis trouvé devant un gros problème que tu va certainement avoir

    donc sur 1 colonne ça pose pas de problème mais sur plusieurs colonne tu risque de supprimer ce qui n'est pas en double en sachant que tu prend comme référence la colonne "A"

    j'explique:
    a supposer que tu a :
    toto en a1
    titi en a2
    jean en a3
    pollux en a4
    etc.......

    ceci sont ta référence pour chercher non seulement dans le reste de la colonne "A" mais aussi dans les 6 autres colonnes d'après ce que j'ai compris
    quand tu va passer en colonne "b" ou "c" ou "dect... jusqu'à "g"
    si par exemple en "b30" je trouve "titi" mais que en "a30" il y a un nom qui n'est pas en double il sera supprimé aussi forcement puisque tu fait un "delete entirerow" ce qui est a mon avis une erreur puisque visiblement la colonne "A" est ta référence donc tout les noms qui ne sont pas en doubles dans celle ci sont a garder

    a mon avis il va te falloir revoir ton raisonnement

    au plaisir

Discussions similaires

  1. Comparaison entre plusieurs colonnes
    Par slyz0r dans le forum Excel
    Réponses: 2
    Dernier message: 04/10/2013, 11h23
  2. Filtrer les doublons sur plusieurs colonnes
    Par henri228 dans le forum Conception
    Réponses: 2
    Dernier message: 07/05/2010, 22h21
  3. [XL-2003] Comparaison des données entre plusieurs colonnes
    Par floctc dans le forum Excel
    Réponses: 6
    Dernier message: 08/12/2009, 20h56
  4. Réponses: 9
    Dernier message: 10/06/2008, 15h15
  5. [VBA-E]Problème de comparaison entre plusieurs colonnes
    Par JeanMikael dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/07/2007, 17h29

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