Menu

Supprimer lignes en doublon avec condition [Résolu/Fermé]

- - Dernière réponse : TravelTeam
Messages postés
7
Date d'inscription
lundi 28 septembre 2015
Statut
Membre
Dernière intervention
14 septembre 2016
- 30 sept. 2015 à 18:00
Bonjour,

J'ai un fichier Excel qui comporte des lignes en doublon (même hôtel, même période, même chambre etc) mais avec un prix différent. Je cherche à supprimer les lignes en doublon en conservant celle dont le tarif est le plus élevé.

J'ai déjà identifié les lignes en doublon en concaténant les différentes colonnes qui constituent le doublon pour faire une sorte de clé primaire.

Mon fichier fait plus de 35000 lignes et c'est une manipulation que j'aurai à refaire très régulièrement, exit donc le traitement manuel.

Je précise que je suis à l'aise avec Excel mais que je ne sais pas écrire une macro VBA (par contre je sais la coller :-))...

Une macro qui supprime directement les lignes avec les prix les plus bas serait évidemment géniale mais je me contenterais aussi d'une formule qui permette d'identifier facilement les lignes à supprimer !

Merci d'avance !



Afficher la suite 

7 réponses

Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Bonjour


Peux tu envoyer un bout de ton fichier , au format excel 2003, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu.

Cdlmnt
-
Bonjour
Voici le lien : http://www.cjoint.com/c/EICkbYSowcC
Les colonnes en jaunes sont celles que j'ai ajoutées pour identifier les lignes en doublon.
Sur l'un des doublons j'ai mis en rouge la ligne qui est à supprimer et en vert celle qui est à conserver.
Merci bcp !
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Un début à tester bien sûr
ttp://www.cjoint.com/c/EICnrCUdTtS

Cordialement
-
Je me penche dessus et te reviens !
Merci bcp de ta disponibilité !
-
Ca fonctionne parfaitement et du 1er coup !
Par contre pour simplifier mon exemple je n'avais pas précisé que mon tableau de travail contient bcp plus de colonnes que le tableau envoyé. Elles n'ont rien à voir avec les doublons de lignes mais j'ai besoin de les récupérer dans l'onglet "Extrait". J'ai du contenu jusqu'en colonne AD (colonne 30).
L'autre point (et dernier) est que l'onglet Extrait doit aussi contenir les lignes qui n'étaient pas en doublon.
J'essaie d'apprendre VBA sur le tas et tes annotations dans le code me permettent aussi d'apprendre ! Merci !!!
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Je viens de voir

Les colonnes en jaunes sont celles que j'ai ajoutées pour identifier les lignes en doublon.
le même sans la colonne cle primaire (mais la colonne nb ???)
http://www.cjoint.com/c/EICotSalk6S

Cdlmn
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
1. Par contre pour simplifier mon exemple je n'avais pas précisé que mon tableau de travail contient bcp plus de colonnes que le tableau envoyé
Lorsque tu envoies un bout de fichier, il est très important qu'il ait la structure exacte de l'original, ça peut changer beaucoup de chose dans la programmation (ici, ce n'est pas le cas !)
2. L'autre point (et dernier) est que l'onglet Extrait doit aussi contenir les lignes qui n'étaient pas en doublon.
En principe elles doivent y être
3. Tu devrais t'inscrire comme membre, c'est gratuit, sans obligation et ça faciliterait l'accès aux liens que tu peux envoyer

Cdlmnt
TravelTeam
Messages postés
7
Date d'inscription
lundi 28 septembre 2015
Statut
Membre
Dernière intervention
14 septembre 2016
-
Tu as raison, les lignes pas en doublon remontent bien ! Sorry...
Ne reste donc que le point sur les colonnes autres à remonter.
Voilà les en-têtes exactes si ça peut aider : http://www.cjoint.com/c/EICpEUEpAmC
PS : je viens de m'inscrire comme membre, j'aurais surement encore besoin des lumières des contributeurs pour de prochains sujets :-)
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Une question
La clé primaire (colonne E) fait bien partie du fichier ?
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Il y a un pb avec ton fichier (peut être le passage vers excel 2003)
J'ai adapté Voyage à la restitution des 30 colonnes
http://www.cjoint.com/c/EICqpotd3nS

Cdlmnt
Bonjour,
Ca fonctionne parfaitement. Un immense merci pour ton aide et le temps que tu y as consacré ! Ce code me fait gagner un temps considérable ! Merci merci merci...
TravelTeam
Messages postés
7
Date d'inscription
lundi 28 septembre 2015
Statut
Membre
Dernière intervention
14 septembre 2016
-
Bonjour ccm81,
Je me retourne vers toi en espérant que tu pourras encore m'aider...
Une particularité que je n'avais pas anticipée est que parfois la ligne la plus chère est elle aussi en doublon. Avec la macro actuelle, les différentes lignes avec le prix le plus élevé sont conservées alors que je voudrais qu'il n'y en ait qu'une qui remonte.

Je joins un exemple avec résultat attendu ainsi que le code pour lequel j'ai ajusté (comme une grande) qques petites particularités pour qu'il colle à nos n° de colonne habituels.
http://www.cjoint.com/c/EIEk5qC5LBC

Merci bcp !
Messages postés
9018
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
8 juillet 2019
1595
0
Merci
Avec la macro actuelle, les différentes lignes avec le prix le plus élevé sont conservées alors que je voudrais qu'il n'y en ait qu'une qui remonte.
Pas possible : l'objet dico n'accepte qu'une seule entrée par clé
Es tu sûr(e) d'avoir exactement les mêmes valeurs sur tes deux lignes.
Chez moi, après manip, ça n'en donne qu'une
http://www.cjoint.com/c/EIEmoTixXQs

Cdlmnt
TravelTeam
Messages postés
7
Date d'inscription
lundi 28 septembre 2015
Statut
Membre
Dernière intervention
14 septembre 2016
-
Je ne voyais pas de comportement bizarre mais en copiant les données sur un nouveau fichier et en rejouant ta macro, ça fonctionne parfaitement. Cette fois-ci ce topic est bel et bien clos. Merci bcp !!!