Supprimer des lignes en doublons dans excel [Résolu/Fermé]

Messages postés
3
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
5 novembre 2003
- - Dernière réponse :  Taha - 12 févr. 2016 à 00:37
Bonjour !

J'ai un trés gros fichier excel qui contient plusieurs fois les mêmes lignes avec les mêmes infos. Comment supprimer les lignes redondantes ?
Merci beaucoup.
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
28
Date d'inscription
mardi 24 juillet 2001
Statut
Membre
Dernière intervention
3 mai 2004
41
34
Merci
Bonjour,

Tu peux à la rigueur faire une extraction sans doublons via le menu Données - Filtre - Filtre élaboré... voir ici :
http://www.commentcamarche.net/faq/19343-supprimer-les-doublons-dans-une-colonne-excel

a+
ced

Dire « Merci » 34

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

CCM 59945 internautes nous ont dit merci ce mois-ci

20
Merci
Bonjour,

Vous pouvez essayer ce scripts. Il suffit juste de l'intégrer dans un module et exécuter la fonction.

Sub supprimeDoublons()

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
Bonjour,

Nico cette solution marche en revanche je n'arrive pas à l'adapter à mon problème.
Au lieu de mettre : Range("E2", "H8000").RemoveDuplicates Columns:=Array(1,2)
Je voudrais un truc du style de la Cells(2 , 1) à la Cells ( i, 4)
Est ce-que que vous avez la syntaxe?

Merci d'avance
En fait j'ai trouvé il suffit d'utiliser UsedRange qui renvoie toutes les données utilisées sur la feuille.
Bonsoir fonction très efficace marche bien chez moi. Merci infiniment
Merci beaucoup !
16
Merci
Dans Office 2010 (et peut-être même dans 2007), c'est très simple, il suffit de sélectionner le tableau sur lequel on veut supprimer les doublons, aller à l'onglet DONNÉES, puis dans OUTILS DE DONNÉES cliquer sur "Supprimer les doublons".

Et c'est automatique et beaucoup plus efficace que de saisir dans une colonne supplémentaire des codes à base de =SI(NB.SI($C$2:C2;C2)>1;"Doublon";"")
{ce qui marche aussi...}
Sacho, comment as tu reussi a supprimer les deux doublons ? c'est exactement ce que je cherche a faire sans succes...merci
Cliquer sur la première cellule->Données -> Supprimer les doublons-> Ne pas oublier de cocher "Mes données ont des en-têtes" pour ne pas tout supprimer
Comment supprimer les doublons sans supprimer les valeurs: "" ?
Fonction parfaite et simple merci!
Messages postés
22932
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 septembre 2019
5664
5
Merci
Bonjour Erdna69,

Dans une colonne libre tu peux mettre :
=ET(EQUIV(B2;B:B;0)<>LIGNE();D2=INDEX(D:D;EQUIV(B2;B:B;0)))
et filtrer sur la valeur VRAI pour avoir les doublons (colonnes B et D identiques)

ou bien :
=SI(ET(EQUIV(B2;B:B;0)<>LIGNE();D2=INDEX(D:D;EQUIV(B2;B:B;0)));EQUIV(B2;B:B;0);"")
si tu préfères avoir le n° de la 1ère ligne où apparait ta combinaison.

eric
bonjour;

la formule :

=ET(EQUIV(B2;B:B;0)<>LIGNE();D2=INDEX(D:D;EQUIV(B2;B:B;0)))
et filtrer sur la valeur VRAI pour avoir les doublons (colonnes B et D identiques)

est-elle modifiable avec une colonne identique supplémentaire ?? (exemble colonnes B / D et E identiques) ?

j'ai essayé, mais sans succès.... :-(

merci d'avance de votre aide
Messages postés
3
Date d'inscription
jeudi 16 décembre 2010
Statut
Membre
Dernière intervention
19 janvier 2011
4
4
Merci
Bonjour, au cas où ça intéresserait quelqu'un, j'ai trouvé une astuce pour pouvoir virer des lignes en doublons en fonction des colonnes que vous voulez, sans script.

La première chose à faire est de sélectionner tout le document, puis faire données=> trier => et trier vos données en fonction des colonnes que vous voulez regarder, de manière à ce que les lignes en doublons soient les une juste après les autres. (si une ligne est comme une autre pour la colonne, elle est juste derrière cette ligne).

Puis vous rajoutez une colonne. Dans cette colonne, à la seconde ligne, vous mettez une formule de ce type:
=SI(ET([colonne1]2=[colonne1]1;[colonne2]2=[colonne2]1;....);1;0)

colonne1, colonne2, etc... correspondant aux colonnes pour lesquelles vous voulez regarder.
Grâce à ca, les "bonnes lignes" sont marquées avec des 0, et les doublons avec des 1.

Ensuite vous sélectionnez la nouvelle colonne ainsi remplie, vous copiez, et vous faites clic droit => collage spécial => valeurs. Ainsi le contenu de la colonne reste inchangé, mais devient "en dur" sans la formule précédente.
Enfin vous sélectionnez tout votre document, et vous faites données => trier => sur la colonne nouvellement crée.
Ainsi vous vous retrouvez avec toutes les "bonnes lignes" suivies par tous les doublons (marqués par des 1 dans la colonne rajoutée).
Vous n'avez pu qu'à sélectionner facilement tous les doublons, et les supprimer.

Ca fonctionne parfaitement si vous voulez trier sur toutes les colonnes à la fois.
Si vous voulez faire que sur certaines colonnes, celles-ci étant multiples, c'est un peu plus compliqué, et il faut réfléchir un peu avant d'agir.
Mais si vous n'avez pas envie de vous prendre la tête, vous pouvez toujours répéter l'astuce plusieurs fois en faisant les colonnes une par une...
Dans tous les cas ça reste relativement rapide à faire, et la seule erreur possible est d'oublier certains doublons si on fait sur plusieurs colonnes en même temps... Dans tous les cas vous ne supprimerez pas de lignes n'étant pas des doublons.
Et cela a le mérite d'être compréhensible quand on ne connaît pas le langage de script d'excel ^^
3
Merci
Tu peux trouver la réponse ici :

http://www.tout-savoir.net/...
Messages postés
3
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
17 août 2010
4
3
Merci
Salut Eric,
Super de bosser pour moi jusqu'à près d'1 heure du matin !
J'ai testé ta macro sur mes données réelles, ça marche, c'est exactement ce que je voulais. C'est génial, Merci Eric
1
Merci
Bonjour à tous,

Ce code fonctionne très bien mais malheureusement j'essaye en vain d'adapter ce code à une recherche de doublons sur deux colonnes. Un doublon sera alors une ligne dont la colonne B et E sont égales à celles d'une autre ligne.

Est-ce possible ? Merci d'avance.
Erdna69
Messages postés
3
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
17 août 2010
4 -
Bonjour,
J'ai moi aussi le même problème: suppression de doublons créés à partir de 2 colonnes, as tu trouvé une solution? par avance merci
il te suffit de fusionner tes deux colonnes en une seule... (=B1&B2). Ensuite tu lances ta recherche de doublons sur cette nouvelle colonne
Messages postés
3
Date d'inscription
lundi 16 août 2010
Statut
Membre
Dernière intervention
17 août 2010
4
1
Merci
Merci eriiic pour ta réponse. En fait j'ai simulé un exemple d'enregistrement ci dessous et je souhaite dans cet exemple que les lignes 3 (retrouvé en ligne 7), 8 (retrouvé en ligne 9) et 15 (retrouvé en ligne 16) disparaissent. Dans la 1ère colonne j'ai repris ta macro.



VRAI A 35509
FAUX B 35509
FAUX A 35510
VRAI B 35510
VRAI C 35510
FAUX D 35510
FAUX A 35510
FAUX A 40811
FAUX A 40811
FAUX A 23414
FAUX B 25100
FAUX B 26321
FAUX A 54233
FAUX C 43660
FAUX A 76987
FAUX A 76987
FAUX A 43555
FAUX A 56432
#N/A C 56432
eriiic
Messages postés
22932
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 septembre 2019
5664 -
Je me suis peut-être fourvoyé dans ma formule bien que je l'ai testée...
Pour ton cas on va faire autrement car apparemment tu désires éliminer les 1ères occurrences et non les dernières, et utiliser une colonne supplémentaire pour simplifier.

Ajout de 2 colonnes :
- dans la 1ère concatener tes 2 valeurs: =A2&B2
- dans la 2nde: =SI(NB.SI(C3:$C$100;"=" &C2);"doublon";"ok")

Filtrer sur cette dernière pour afficher la valeur 'doublons'
Sélectionner la 1ère ligne,
Shift-clic sur la dernière pour toutes les sélectionner
Clic-droit sur la sélection et 'supprimer la ligne'

exemple
Dans l'exemple il y a une colonne supplémentaire des fois que finalement tu veuilles conserver la 1ère occurrence marquer comme doublons les suivantes.

eric
MERCI !!!!!!!!!!!!!!!!!!
Messages postés
42
Date d'inscription
lundi 20 juin 2011
Statut
Membre
Dernière intervention
16 janvier 2012
2
1
Merci
Bonjour,

J'ai essayé d'effacer mes doublons via les differentes solutions suggerees mais ca ne marche toujours pas...

Jai une colonne ou il y a des doublons.

Par exemple:

pommes
pommes
pommes
poires
poires
poires
poires

Ce que j'aimerais c'est d'effacer les doublons, sans oublier de garder une ligne a chaque fois.

Je pourrais faire ca mannuellement mais jai des centaines de lignes...

Quelqu'un connait un moyen?
eriiic
Messages postés
22932
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
29 septembre 2019
5664 -
Bonjour,

à saisir en ligne 2 :
=SI(A2=A1;"doublon";"ok")
à recopier vers le bas, mais ta liste doit être triée

une formule qui marche sur une liste non triée :
=SI(EQUIV(A2;A:A;0)=LIGNE();"ok";"doublon")

Pour supprimer les doublons :
- mettre des titres de colonne en ligne 1
- y mettre un filtre automatique
- sélectionner "doublon" à l'aide du filtre auto
- sélectionner la ligne du 1er doublon
- shift+clic sur la ligne du dernier pour les sélectionner toutes
- clic-droit puis 'supprimer la ligne'

eric
moomine
Messages postés
42
Date d'inscription
lundi 20 juin 2011
Statut
Membre
Dernière intervention
16 janvier 2012
2 -
merci!!!
bonjour,
Je recherche un script qui :
si doublon des deux lignes dans colonne B, copier la cellule de la deuxième ligne en colonne F dans la première et supprimer la deuxième ligne.
HamedKONE
Messages postés
22
Date d'inscription
jeudi 12 novembre 2015
Statut
Membre
Dernière intervention
21 juillet 2018
-
Merci eriiic, la formule qui me convient exactement

=SI(EQUIV(A2;A:A;0)=LIGNE();"ok";"doublon")
Messages postés
67
Date d'inscription
dimanche 13 mai 2012
Statut
Membre
Dernière intervention
5 juin 2015
2
0
Merci
Une autre solution existe si vous travaillez sur des outils en ligne genre google drive, où là on peut manipuler et trier des colonnes mais avec beaucoup moins d'options que dans le logiciel xls.
J'ai rencontré des plantages en voulant manipuler des fichiers xls en ligne car mes fichiers contenaient plus de 50 000 adresses mails et le navigateur n'arrivait pas à gerer.
Une solution pour dédoublonner 1 colonne est de l'exporter (format csv par exemple : il va donc mettre 1 mail / ligne) et ensuite de dédoublonner sur ce genre d'outil en ligne gratuit : http://www.jerome-pasquelin.fr/tools/dedoublonner.php
L'outil va traiter le texte et dédoublonner si 2 lignes sont identiques pour ensuite fournir un contenu sans doublon.
Il suffit de réimporter dans excel ensuite. C'est un peu plus long mais c'est la seule solution que nous avons trouvé à l'heure actuelle pour traiter de gros formats de données sous Drive, sans installer de logiciel (à cause du partage collaboratif)