Dédoublonner fichier sous Excel.

Fermé
petitemarie Messages postés 2541 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 1 avril 2005 - 24 oct. 2004 à 21:55
 dbankole - 28 avril 2016 à 17:21
Bonsoir.

J'ai un fichier sous Excel d ' à peu près 10 000 lignes, dont certaines reviennent en doublon, voire plus, une fois le fichier trié.

Connaissez-vous une fonction qui permette de supprimer les lignes en trop, sans devoir le faire ligne par ligne ?


D'avance merci.


@plus,

///Marie
A voir également:

7 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
7 sept. 2009 à 18:54
Je sais que je déterre le sujet de 2 ans mais c'est pour apporter une méthode bien plus simple :), sans macro.
Attention par contre s'il y a un filtre automatique sur les données à dédoublonner parce que lorsqu'on sélectionne une zone filtrée par un filtre automatique, ça sélectionne des données non affichées qui se trouvent entre celles qui sont affichées.

Il suffit de :
1) Sélectionner les données à dédoublonner, et les trier. (cela va mettre côte à côte les cellules contenant les mêmes choses)
2) Insérer une colonne juste à côté pour y coller à chaque ligne le test : "est-ce que la cellule du dessous contient la même chose que la cellule de cette ligne ?"
3) Copier toute cette dernière colonne, et la recoller par dessus par valeur en collage spécial (pour que ça ne change plus par la suite)
4) Sélectionner les données à dédoublonner avec la colonne de 0(=unique) et 1(=au moins en double), et les trier selon la 2ème colonne (toutes les données qui sont déjà présentent vont se retrouver en bas de liste, il ne suffira plus qu'à les supprimer).
5) Supprimer la colonne qui a servi aux tests.

Concrètement :
Si les données vont de A1 à A10
Par exemple, utilisons la colonne B pour les petites formules
B1 contiendra =SI(A1=A2;1;0)
Copier coller B1 jusqu'à B10
etc.

Remarque : Si on ne veut pas perdre l'ordre original des données, il suffit d'insérer une colonne, avant le tout premier tri, pour y mettre un compteur de lignes (1, 2, 3, 4 etc.) en face de chaque donnée (à copier coller par valeur si c'est fait avec une formule). Après le point 5) il suffira de retrier selon cette colonne pour retrouver l'ordre d'origine.

Autre remarque : la comparaison est insensible à la casse donc BONJour et bonjOuR vont être identique par contre évidemment ce n'est pas insensible aux accents (Michael vs Michaël seront différents).
14
Merci pour ton explication claire.... Trop facile !!! Youpi !!
0
Excellent!! C’était bête comme chou mais le génie s'est d'y penser. :-) Merci.
0
Je suis étonnée que personne n'ai donné la solution du filtre directement sur Excel :
1) Sélectionner les lignes à dédoublonner
2) Menu "Données"
3) puis "filtrer"
4) "Filtre élaboré"
5) Remplir la zone de critère (exemple, la colonne mail ou matricule)
6) cocher "Extraction sans doublon"

Le seul hic, c'est qu'il s'agit d'un affichage. Je cherche encore comment garder que ces lignes filtrées et rien d'autre à la sauvegarde.
4
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
16 déc. 2009 à 11:44
Justement ma méthode n'est pas un simple affichage.
0
Merci beaucoup pour cette réponse très précise.
Bien cordialement.
0
sandracannes Messages postés 1 Date d'inscription jeudi 25 juin 2015 Statut Membre Dernière intervention 25 juin 2015
25 juin 2015 à 12:05
Bonjour
Un copier/coller de la colonne sur une autre feuille excel fait l'affaire. Puis enregistrer.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
25 juin 2015 à 19:07
Bonjour,
Je pense, que presque 6 ans plus tard, le réveil d'une question qui a plus de 10 ans d'age, ta réponse va faire avancer le Schmilblick !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
24 oct. 2004 à 22:04
il faut écrire une petite procédure Visual Basic.

je ne vois pas d'autre solution, si tu ne sais pas je peux te l'envoyer car c'est assez simple.

toujours zen
3
Bonjour,

J'ai le même problème que Marie (un fichier de 15 000 lignes environ) que je dois dédoublonner au niveau des noms prénoms, c'est un fichier d'adhérents d'une association.

Peux-tu m'envoyer la petite procédure Virtual Basic dont tu parles ?

Merci d'avance pour ta réponse ;)

Jérém
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684 > Jérém
9 janv. 2007 à 17:48
bonjour

Pour adapter la macro à ton fichier, j'aimerais avoir :

- la colonne du nom
- la colonne du prénom
- la position de la première ligne de données.
- s'il faut supprimer tous les doublons "nom/prénom" en éliminant la ligne
- si d'autres conditions sont nécessaires.


Merci d'avance.
0
Bonjour,
J'ai un fichier d'adresses mail (actuellement sous word, mais que je peux copier dans un autre prog comme excel si c plus pratique) que je souhaiterais dédoublonner et je lis que vous savez le faire.

Pouvez-vous m'aider svp ?
Merci
0
petitemarie Messages postés 2541 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 1 avril 2005 3
24 oct. 2004 à 22:21
Merci beaucoup pour ta réponse.

Tu peux me l'envoyer sur mon mail ( cf profil).

Bonne soirée.

@plus,


///Marie
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Furtif Messages postés 9887 Date d'inscription lundi 25 avril 2005 Statut Contributeur Dernière intervention 8 mars 2010 927
9 janv. 2007 à 19:21
Bonsoir

Ou alors :
La procédure est décrite dans le Helper de EXCEL.
Faire F1 et écrire : "élimner les doublons"
1
sean garrett
8 oct. 2007 à 15:11
Bonjour,

j'ai aussi un fichier d'adhérents à dédoublonner,
si vous pouviez m'envoyer cette petite procédure Visual Basic assez simple que je ne sais pas faire

si c'est possible merci d'avance
0
Bonjour bizu53,

Tes explications sont claires, pourtant je ne pige pas le n°4 et 5.
Est-ce que vous pourriez être plus précis sur ces points (surtt le 4)

merci infiniment
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
17 févr. 2010 à 15:15
4) Sélectionner les données à dédoublonner avec la colonne de 0(=unique) et 1(=au moins en double), et les trier selon la 2ème colonne (toutes les données qui sont déjà présentent vont se retrouver en bas de liste, il ne suffira plus qu'à les supprimer).
C'est vrai qu'en relisant aujourd'hui ma phrase, je me rends compte qu'elle est cassée par des parenthèses sans arrêt.

4 reformulé en 2 sous-parties :
4a) Sélectionner la colonne des données à dédoublonner avec la colonne contenant les 0/1.
4b) Trier la sélection par rapport à la colonne contenant les 0/1.

La remarque que j'avais voulu faire était que les lignes qui ont un "1" correspondent aux lignes à supprimer. Quand la même valeur à dédoublonner apparaît plusieurs fois, une seule ligne contient un "0" dans la colonne de test, et toutes les autres (ou "l'autre" si ce n'est qu'un double) ont des "1".

Ainsi, les trier par rapport à la colonne 0/1 permet de regrouper toutes les valeurs uniques en haut (car "0" dans la colonne test). Et toutes les lignes des valeurs multiples se retrouvent en bas (car "1" dans la colonne test).

5) La colonne test peut être supprimée puisqu'elle ne servait qu'à dédoublonner ;-)

Je pense être plus clair maintenant mais s'il y a encore des choses que je peux éclaircir ne pas hésiter à me demander.


PS: Je viens de penser à une remarque que je n'avais pas faite : Si les données à dédoublonner se trouvent sur plusieurs colonnes. Ma méthode nécessite une petite adaptation pas compliquée au niveau des étapes 1 et 2.
Par exemple :
colonne prénom, colonne nom
pierre, martin
michel, martin
michel, dupond
michel, martin
1) Trier les 2 colonnes par rapport à elles deux
michel, martin
michel, martin
michel, dupond
pierre, martin
=> les lignes michel, martin se retrouvent ainsi à la suite comme voulu.
2) La condition devient alors "est-ce que la cellule du dessous contient la même chose que la cellule de cette ligne pour chacune des colonnes ?"
En C1, au lieu de quelque chose comme : =SI(A1=A2;1;0)
Cela serait quelque chose comme : =SI(ET(A1=A2;B1=B2);1;0)
Ainsi, si les deux prénoms sont identiques mais pas les noms, ou inversement, les deux lignes seront bien distinguées.
(Les 3 4 5 ne changent pas)
0
debo08 > bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015
23 févr. 2010 à 14:31
Bonjour,
Dsl je ne comprends comment parvenir à dédoublonner mon fichier...
Sans mon cas j'ai plusieurs colonnes, "nom, prenom, adresse, tel, fax, etc.", et dans un autre fichier j'ai tous les numéro de fax qui correspondent aux lignes entières que je dois supprimer, j'ai donc copier la colonne du 2e fichier et l'ai collée à côté du premier tableau afin de faire un filtre pour éliminer les doublons. Mais je ne sais pac omment sélectionner les cellules ou qqchose comme ça...
Pourriez-vous m'aider svp?
0
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859 > debo08
26 févr. 2010 à 22:44
Je ne suis pas sûr de bien comprendre, mais de ce que je crois comprendre, la même méthode n'est pas applicable mais peut être adaptée avec un RECHERCHEV je pense. La colonne "test" peut contenir 1 si c'est dans la liste des n° de fax, 0 sinon. Après il suffit comme dans la méthode que je donne, de trier par rapport à cette colonne de 0/1, puis supprimer toutes les lignes qui ont un 1.
0