Excel : Supprimer les doublons

Bonjour,

Je souhaiterais savoir si il y avait un code VBA pour purger une liste de ses doublons à la fermeture d'un fichier excel. La colonne de tri étant la colonne " Z ".

Merci d'avance à ceux qui m'aideront.

3 réponses

  1. Salut,

    le mieux serait que tu enregistres une macro et que tu fasses les manips toi-même.
    tu verras le code que ça te génère.

    j'ai mis des infos seulement dans la colonne Z, entre les lignes 1 et 21, et sans titre. j'ai enregistré la macro et voilà ce que j'ai obtenu :
    Sub Macro1()

    Columns("Z:Z").Select
    ActiveSheet.Range("$Z$1:$Z$21").RemoveDuplicates Columns:=1, Header:=xlNo

    End Sub


    essaie, ce n'est pas compliqué tu verras.
    0
    1. En fait j'ai essayé de le faire comme ça mais l'extraction des doublons ne fonctionnait pas. Du coup ma macro restait vide. En tout cas je vais essayer ce code merci !
      0
    2. Ce code ne marche pas... pff j'en ai marre, ca fait cinq jour que je cherche une solution à ce problème. Comment supprimer les doublons d'une liste si qulqu'un le sait, qu'il m'aide svp. Je suis vraiment embetée sans cette procédure ...
      0
  2. re,

    tu peux mettre ton fichier Excel sur le site cijoint.fr et donner le lien ici stp.
    ça sera plus simple.
    0
    1. J'ai mis une version (très) simplifiée de mon fichier pour le rendre plus léger. Je souhaiterais que les doublons soient éliminés en Feuil9 à la pression du button "Quitter". La colonne Z étant ma référence. La c'eest fait car je l'ai fait à la main... Plus de 4000 lignes pour au final n'en avaoir que 100...

      http://www.cijoint.fr/cjlink.php?file=cj201005/cijqwqu5oH.xls

      Merci en tout cas de m'accorder un peu de ton temps.
      0
    2. Contributeur
      bonjour,

      Comme ceci cela devrait mieux fonctionner :
      ActiveSheet.Range("$A$1:$Z$21").RemoveDuplicates Columns:=26, Header:=xlNo
      
      0
    3. Bonjour,

      J'ai un message d'erreur "Propriété ou méthode non gérée par cet objet".
      0
  3. Salut,

    ce que je t'avais donné fonctionne très bien. c'est juste que, ne connaissant pas la plage de données sur laquelle tu l'appliquais, j'avais pris l'exemple entre les lignes 1 et 21, comme je l'avais précisé.

    si tu veux que ça affecte toutes les colonnes de ton tableau, utilise le code donné par gbinforme. agrandi juste la plage de données "$A$1:$Z$21" pour que cela prenne tout ton tableau en compte.

    si tu veux seulement toucher à la colonne Z :
    ActiveSheet.Range("$Z$1:$Z$65536").RemoveDuplicates Columns:=1, Header:=xlNo
    j'ai pris large ("$Z$1:$Z$65536") pour être sûr que tout soit pris dans cette colonne.

    à toi de voir selon ce que tu souhaites faire.
    0
    1. Le problème c'est comme je l'ai explique plus haut, ca me renvoie un message d'erreur...
      0
    2. je confirme, après moultes essais, j'ai toujours le message d'erreur "Propriété ou méthode non gérée par cet objet".
      0