Excel 2010 lister les doublons sur 2 colonnes ligne par lign
Bonjour à tous et merci pour votre collaboration
Voila : j'ai 2 colonnes A et B avec des doublons en chiffre et en lettre, j'aimerais trouver une formule ou VBA pour mettre les doublons en lettre d'une couleur et les chiffres d'une autre couleur en comparant col A ligne1 et Col B par ligne1 ainsi de suite
col A
1-17442_AYTRE CX
6-17230_MARANS TM0005
7-17170_COURCON TM0008
Col B
1-17442 AYTRE CX
6-17230 MARANS 05
7-17170 COURCON 08
Pour un resultat comme ci -dessous
Col A
1-17442_AYTRE CX
6-17230_MARANS TM0005
7-17170_COURCON TM0008
Col B
1-17442 AYTRE CX
6-17230 MARANS 05
7-17170 COURCON 08
D'avance merci à vous tous
Salut et bienvenue sur le Forum,
Je présume que si personne n'a osé se lancer, c'est parce que l'on présume que ton fichier est plein de pièges et de complications qui ne peuvent pas être décelés sur la base de tes simples exemples.
Peux-tu aussi fournir le fichier complet que tu as à traiter (ou est-ce un fichier qui n'arrête pas d'être modifié ?) afin que l'on puisse se rendre compte du travail réel à réaliser ? Ceci quitte à enlever les autres informations confidentielles qu'il pourrait y avoir en dehors des colonnes A et B.
A te relire.
Bonjour
Voici une partie du fichier à traiter et encore merci pour votre collaboration.
Ces fichiers proviennent de 2 applications différentes et je dois vérifier si on retrouve bien le même code postal, ville et N° de tournée ou Cedex pour chaque ligne. J'admets que c'est pas facile de s'y retrouver.
Merci pour tout
Col A
17000_LA ROCHELLE TL0101
17000_LA ROCHELLE TL0702
17000_LA ROCHELLE TL0307
17000_LA ROCHELLE TL0303
17000_LA ROCHELLE TL0509
17000_LA ROCHELLE TL0503
17000_LA ROCHELLE TL0201
17001_LA ROCHELLE CX1
17006_LA ROCHELLE CX1
17013_LA ROCHELLE CX1
17019_LA ROCHELLE CX1
17023_LA ROCHELLE CX1
17029_LA ROCHELLE CX1
17041_LA ROCHELLE CX1
17086_LA ROCHELLE CX1
17281_PERIGNY CX
17442_AYTRE CX
17301_ROCHEFORT CX
17306_ROCHEFORT CX
17311_ROCHEFORT CX
17230_MARANS TM0001
17230_MARANS TM0005
17170_COURCON TM0008
17170_COURCON TM0013
17220_ST CHRISTOPHE TL0102
17220_ST CHRISTOPHE TL0301
17220_ST CHRISTOPHE TL0303
17220_ST CHRISTOPHE TM0309
17053_LA ROCHELLE PIC_TPD-CX9
17079_LA ROCHELLE PIC_TPD-CX9
17320_MARENNES TM0007
17320_MARENNES TM0011
17250_ST PORCHAIRE TL0101
17250_ST PORCHAIRE TL0201
17250_ST PORCHAIRE TM0211
17250_ST PORCHAIRE TM0312
17170_COURCON RST PDC
17690_ANGOULINS RST PDC
17000_LA ROCHELLE TL0103
17000_LA ROCHELLE TL0207
17000_LA ROCHELLE TL0308
17000_LA ROCHELLE TL0409
17000_LA ROCHELLE TL0504
17000_LA ROCHELLE TL0608
17000_LA ROCHELLE TL0203
17002_LA ROCHELLE CX1
17009_LA ROCHELLE CX1
17014_LA ROCHELLE CX1
17020_LA ROCHELLE CX1
17024_LA ROCHELLE CX1
17030_LA ROCHELLE 17031_TCP LA ROCHELLE CX1
Col B
17000 LA ROCHELLE PDC1 0101
17000 LA ROCHELLE PDC1 0702
17000 LA ROCHELLE PDC1 0307
17000 LA ROCHELLE PDC1 0303
17000 LA ROCHELLE PDC1 0509
17000 LA ROCHELLE PDC1 0503
17000 LA ROCHELLE PDC1 0201
17001 LA ROCHELLE CX1
17006 LA ROCHELLE CX1
17013 LA ROCHELLE CX1
17019 LA ROCHELLE CX1
17023 LA ROCHELLE CX1
17029 LA ROCHELLE CX1
17041 LA ROCHELLE CX1
17086 LA ROCHELLE BP 1541
17281 289 PERIGNY CX
17442 AYTRE CX
17301 ROCHEFORT CX
17306 ROCHEFORT CX
17311 ROCHEFORT CX
17230 MARANS 01
17230 MARANS 05
17170 COURCON 08
17170 COURCON 13
17220 ST CHRISTOPHE 102
17220 ST CHRISTOPHE 301
17220 ST CHRISTOPHE 303
17220 ST CHRISTOPHE 309
17053 LA ROCHELLE CX9
17079 LA ROCHELLE CX9
17320 MARENNES 07
17320 MARENNES 11
17250 ST PORCHAIRE QL 0101
17250 ST PORCHAIRE QL 0201
17250 ST PORCHAIRE QL 0211
17250 ST PORCHAIRE QL 0312
17170 COURCON CC T1
17690 ANGOULINS CCT3
17000 LA ROCHELLE PDC1 0103
17000 LA ROCHELLE PDC1 0207
17000 LA ROCHELLE PDC1 0308
17000 LA ROCHELLE PDC1 0409
17000 LA ROCHELLE PDC1 0504
17000 LA ROCHELLE PDC1 0608
17000 LA ROCHELLE PDC1 0203
17002 LA ROCHELLE CX1
17009 LA ROCHELLE CX1
17014 LA ROCHELLE CX1
17020 LA ROCHELLE CX1
17024 LA ROCHELLE CX1
17030-31 LA ROCHELLE CX1
Salut,
Je te remercie de m’avoir fourni le fichier Excel demandé, de manière à ce que je ne doive pas le créer moi-même, et d’avoir répondu à toutes mes questions ; ça m’aide à t’aider
Voici quelques questions complémentaires ou répétées :
1) Dans la réalité, combien as-tu de lignes en tout et quelle est la fourchette des codes postaux (je te pose cette dernière question car j’ai une idée afin de résoudre le problème des noms de lieu qui comportent parfois plusieurs mots, mots qu’il ne faut pas qu’Excel confonde avec tes groupes de lettres à ignorer tels que pdc, tl, etc.) ?
2) Est-ce que le fichier ci-joint, basé sur tes exemples, est la représentation exacte du résultat que tu voudrais avoir pour ces lignes ou est-ce que tu n’as marqué que quelques lignes en rouge et bleu afin de me montrer des exemples ? Ou en posant la même question autrement, pourquoi la ligne 2 par exemple n’est pas en rouge et bleu ?
3) Selon tes exemples repris dans mon fichier Excel, il semble qu’il y a pratiquement toujours un code postal, un nom de lieu, un groupe de lettres et un dernier nombre. Toujours selon tes exemples, il semble qu’il faut ignorer le groupe de lettres après le nom du lieu, SAUF S’IL S’AGIT DES LETTRES CX, et considérer le dernier nombre pour le chiffre qu’il représente (donc 001 est égal à 01 ou à 1). Est-ce exact ?
4) Ce que j’ai nommé ci-dessus « un nombre » et « groupe de lettres sauf CX », portent-ils des désignations officielles afin que l’on se comprenne lorsqu’on en parle ?
5) A la ligne 1, il y a un nombre (que j'ai marqué en brun) entre le code postal et le nom de la ville. Puis-je ignorer purement et simplement ce genre de nombres ? Ou est-ce une erreur de transmission ?
6) Tu dois traiter une liste une fois pour toute ou tu as régulièrement de nouvelles comparaisons à exécuter ?
A te relire.
Bonjour
Réponse à tes questions:
1- environ 250 lignes ; codes postaux de 17000 à 17999
2-les quelques lignes sont des exemples , je n'ai pas colorié l'ensemble
3- exact sauf 001 est égal à 01
4-Exact ce sont bien des désignations officielles
5-je ne vois pas le nombre que tu as marqué a la ligne 1
autres exemples:
1-17281_PERIGNY CX
17281 289 PERIGNY CX
2-17030_LA ROCHELLE 17031_TCP LA ROCHELLE CX1
17030-31 LA ROCHELLE CX1
6-j'ai plusieurs listes qui sont dans le même style
encore mille fois merci
au plaisir de te relire
Re-bonjour,
Ta demande n’est vraiment pas évidente
En réponse à mes questions, tu as écris « je ne vois pas le nombre que tu as marqué a la ligne 1 ». Il s’agissait du nombre 289 dans la cellule B16 que j’avais marqué en brun (dans le fichier fourni le 09.11.2012, et non pas dans celui d’aujourd’hui).
J’espérais pouvoir comparer tes noms de lieux avec une liste que j’ai trouvée lors d’une réponse à un autre fil et que je croyais officielle (voir ma feuille "17000-17999" dans le fichier ci-joint, la liste de base comporte 38'000 lignes), mais il y a des différences (chez toi, Périgny porte le numéro postal 17281 alors que sur ma liste – et sur internet
Si ma liste était correcte, elle comporte quand même certains problèmes ; par exemple à la ligne 111 de ma feuille "17000-17999", ST GEORGES D OLERON est écrit sans apostrophe, ce qui peut créer des problèmes.
AUTREMENT 1, peut-on partir sur la philosophie suivante : le nom du lieu est déterminé à partir de la colonne A. Après le groupe de 5 chiffres et le souligné, on compare le premier groupe de lettre (avant le premier espace) avec le premier groupe de lettre de la colonne B. Par exemple à la ligne 2 de la Feuil1, 17190_ST serait comparé avec 17190 111 ST et on trouverait que ST est commun. Trouvant un point commun (ST), on continuerait la comparaison. On trouverait alors le prochain groupe de lettre de la colonne A (GEORGES) que l’on comparerait à la colonne B. GEORGES est également trouvé, on continue la comparaison. Le troisième groupe de lettres trouvées en colonne A est D’OLERON, groupe que l’on trouve également en colonne B. Le quatrième groupe de lettres trouvées en colonne A est TL, mais comme on ne trouve pas ce groupe de lettres en colonne B, on considérerait que le nom du lieu est ST GEORGES D'OLERON. Dans tous les cas, le groupe de lettres CX serait considéré comme indiquant la fin du nom de lieu.
Si on a trouvé le nom de lieu ST GEORGES D'OLERON dans l’exemple ci-dessus, on trouverait de la même manière le nom de lieu PERIGNY, LA ROCHELLE, ST CHRISTOPHE, etc.
Ayant déterminé le nom du lieu, on considérerait que des groupes de lettres (BP, QL, etc.) ou de lettres et chiffes sans espaces (PDC1, CCT3, etc.) sont à ignorer à chaque fois, à l’exception de CX. [Contrairement à ma demande numérotée 4), tu ne m’as pas dit si ce genre de dénominations portait un non officiel ou nom, mais tant pis.]
Ayant mis de coté ces groupes de lettres et chiffres, on pourrait finalement comparer les chiffres restant (001 avec 01 ou 1, etc.) et marqué en rouge et bleu les correspondances.
Ayant fait tout cela, faudrait-il encore faire un contrôle des nombres finaux de chacune des lignes de chacune des colonnes afin de trouver certains groupes de chiffres communs en fin de référence (à la ligne 4 de la Feuil1, TL0702 en colonne A et 0702 en colonne B) et considérer que dans un tel cas il y a concordance ?
AUTREMENT 2, peux-tu m’indiquer des groupes de lettres et de chiffres dans la colonne A qui sont à prendre en compte (TL0702, TM0001) alors que d’autres ne sont pas à prendre en compte (PIC_TPD-) ??
Comme je te l’ai déjà dis, ta demande n’est vraiment pas évidente
A te relire.
Bonjour
En effet la liste que tu as trouvé est une liste pour le grand public et qui est un peu différente de celle qui est utilisée par les professionnelles et qui comporte un format tres spécifique dû aux nombreuses applications qui l'utilise.
-Exact jusqu'ici "considérer que dans un tel cas il y a concordance ?
1- à prendre en compte
code postal +le nom de la ville + TMxxxx+TLxxxx+CX+CX1+CX9+BPNCX+CX2+PDI
2- à ne pas prendre en compte
TCP, TPD-,RST,PDC
MAis devant la complexité de la chose je comprendrais tout à fait si tu si voulais arrêter parce que je pense que tu dois avoir autre chose à faire.
Dans tous les cas , je t'en remercie beaucoup d'avoir essayé de m'aider et peut être que je reviendrais avec un nouvel énigme...
Cordialement
Pactoine
Si tu n'es pas trop pressé et que tu as besoin du résultat d'ici 1 jour à 2 semaines, je continue volontier. Alors, j'y vais ou on s'arrête là ? Si on laisse tomber, il n'est pas nécessaire de répondre.
Une "règle" du Forum :pactoine a écrit :et peut être que je reviendrais avec un nouvel énigme
Nouveau problème = nouveau fil
Suite du problème = même fil
Bonjour
Je suis toujours preneur de tout ce que tu peux trouver pour m'aider et en même temps je suis assez pressé, par conséquent je suis obligé de commencer un contrôl manuel. Mais même si tu mets 2 semaines je t'en serais très reconnaissant car tes idées pourront toujours me servir dans mon métier.
Voilà la balle est ton camp (comme on dit ...) et encore merci pour ta gentillesse et ton soutien
Bonsoir,
Avec le code inscrit dans le fichier ci-joint, tu devrais pouvoir comparer deux colonnes A et B, quelle que soit leur longueur.
Un texte se reporte dans la colonne C si la concordance est trouvée.
Je présume qu'il faudra affiner ce travail selon tes essais. Je pense aussi qu'il devrait être possible de simplifier le listage des abréviations à ignorer (pour l'instant cette liste est placée dans le code ; à déplacer sur une feuille avec possibilité d'en rajouter facilement ?).
A te relire.
Bonjour
D'abord merci beaucoup pour ce travail. j'ai commencé effectivement à travailler avec le fichier sans pour l'instant le modifier et j'arrive à avoir de bons résultats . Par la suite je ferais quelques modifications à ma sauce. Mais pour l'instant il me convient bien.
Donc je ne le dirais jamais assez , merci pour tout : l'accueil , la patience et la tenacité etc...
Bonne continuation et peut -être à une autre fois
Merci et bon vent.