Comparer deux colonnes
Résolucapeo Messages postés 188 Statut Membre -
je pense que cette question a été posée plusieurs mais je n'ai pas trouvé de réponse.
Mon problème est le suivant je voudrais comparer deux listes qui viennent de deux extractions différentes dont l'écriture des références n'est pas toujours identiques.
j'ai fait essayer avec la fonction recherchev mais bien évidemment quand la valeur n'est pas identique j'ai N/A.
j'ai essayé de bricoler une formule avec recherchev et subtitue mais ça ne marche pas.
voici les exemples que j'ai
AFC105 OU AFC-AN105 OU AFC105-00 OU AFC105000
AFC105-6-02 AFC105602 OU AFC10562
J'espère que cela suffira ?
cdlt
32 réponses
- 1
- 2
Plusieurs utilisateurs cherchent à comparer deux listes issues d'extractions où les références ne sont pas écrites de façon identique, rendant VLOOKUP inopérant lorsque les valeurs ne coïncident pas. Des propositions convergent vers l'unification des formats par normalisation des références, l'idée d'ignorer les tirets, les zéros et les fragments comme AN, ou d'utiliser une macro ou une fonction personnalisée. En pratique, les échanges évoquent des approches complémentaires, la création d'une colonne de transformation ramenant chaque référence à sa forme et une règle différenciant les cas AN selon le contexte. D'autres éléments évoquent des ressources et des fichiers illustrant l'automatisation par macros ou fonctions personnalisées, sans conclure sur une solution et en laissant ouvert le choix de la méthode selon le contexte.
-
Bonsoir
Es tu sûr que les cas se réduisent à :
- ne pas tenir compte des tirets ni des zéros sauf le premier
- ne pas tenir compte de AN dans la référence ?
- retenir comme significatifs déjà les 6 premiers caractères (sauf dans le cas avec AN qui peut être traité à part)
Si c'est le cas on peut sans doute envisager une fonction personnalisée ou une macro
Exemple de fonction personnalisée : https://www.cjoint.com/?0IkvVUTHoh9
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein -
bonjour
mon analyse a été un peu rapide et je m'en excuse. après tes questions je m'aperçois que j'ai oublié de donner le pourquoi du comment des différentes écritures.
les fichiers viennent de deux entités différentes ce qui se traduit par écritures différentes et parfois déconcertantes. pour remettre de l'ordre j'ai associé une couleur à la liste A et une autre à la liste B. je les ai collées dans une même colonne et j'ai effectué un tri. et c'est la que c'est très dur et surtout très long.
Voici un peu, les différents types d'écritures :
AFC105 traduit par AFC105 OU AFC105A ou AFC105AM
AFC105-00 traduit par AFC105 OU AFC10500.
L'AN a supprimé
AFC002 traduit par AFC2 OU AFC02 OU AFC002
AFC105-04-01 traduit par AFC1050401 OU AFC105041 OU AFC10541
AFC101-3-1-06 traduit par AFC101316
AFC116-02 traduit par AFC1162
Après j'ai un nombre infime de données qui peuvent être traité manuellement.
par contre une petite chose supplémentaire; avec la mise en forme conditionnel; y a t il moyen de mettre en couleur une référence au début de chaque liste.
https://www.cjoint.com/?DIlm1E3Wwhm
cdlt -
Bonjour
Pour la MFC : https://www.cjoint.com/?0IlnTdh5QuY
Pour le reste que compte tu faire ? Ajouter une colonne dans laquelle tu essaies de ramener chaque référence à sa plus simple expression ?
Une lettre en fin de référence doit elle être systématiquement supprimée ?
Cdlmnt
-
re
pour le MFC y a t il moyen de différencier les données écrit en bleues, noires et rouge?
Pour la lettre non, car parfois la référence a évoluée mais comme cela arrive très peu je peux traiter à la demande car c'est peur être qu'une réf a évolué.
pour la 1) peux tu me proposer quelque chose pour voir ce que cela donne ?
cdlt
claude-
re
Quel est le critère qui différencie les données bleues, noires et rouges ? c'est sur celui-ci ,s'il y en a un, qu'on peut peut-être se baser pour une MFC différenciée
Pour le 1 je regarde ce qu'il est possible par formule, sans traiter les cas spéciaux des références se terminant par une lettre alors?
Cdlmnt
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
re
Les bleues sont les données de références, les noires l'extraction qui devrait être comme les bleues et les rouges les références qui existent physiquement mais ne sont pas déclarées dans les noires ou les bleues
ok pour ta proposition
cdlt -
OK donc il faudrait avoir quelque part la liste complète des données de référence pour s'y reporter (et sans doute rajouter une colonne qui se coche automatiquement lorsque la référence en colonne A fait partie de celle de référence et déclencherait la MFC bleue)
-
tu ne peux pas faire quelque en fonction de la couleur directement ?
-
Que veux tu dire ?
Je ne te suis plus la !
Je croyais que tu voulais colorer les écritures par MFC mais non elle le seraient déjà et tu veux quoi en fonction de cela ?
-
-
Re
1ere tentative pour éliminer par formule les tirets puis les 0 non significatifs en début de nombre
https://www.cjoint.com/?0IluCVfLmbV
On arrive déjà à des différences entre le nombre de références entre ta 1ere feuille non triée alphabetiquement et ma 2nde feuille triée alphabétiquement
puis des différences (normales) entre les ref sans tirets et celles sans tirets et sans 0
Dans l'attente de ce que tu en penses
Cdlmnt
-
-
Bonjour
Je ne veux rien ajouter ! Les formules répondent-elles à ce que tu recherches pour uniformiser ? Pour l'instant elles permettent de voir certaines similitudes mais ne traitent pas le cas des 0 à l'intérieur des nombres car apparemment il n'y a pas de règle en ce qui les concernent certaines fois ils seraient tous conservés d'autre fois que certains, d'autres fois encore tous supprimés;
Et si on les supprime tous on ne pourra plus faire la différence entre AAA105023 et AAA15203 qui sont sans doute 2 refs différentes
Cdlmnt
-
re
En fait tout ceci c'est des erreurs d'écriture et des règles différentes de chaque côté.
la 1er met des "-" et l'autre supprime les tirets donc tape la réf tout à la suite
maintenant pour les zéro ce n'est pas pareil ce n'est pas une histoire de règle c'est des erreurs de recopie de frappe. voilà ............
Quand tu examines le tableau, il me reste une erreur. je la corrigerais.
donc tout va bien .
juste un plus, pentes-tu qu'il soit possible de mettre les écriture qui sont en bleu juste avant le détail ? quand elles existent
CAP10002 2 +0 la réf CAP10002 est en bleu
CAP10002 SST 2 (détail)
je suis obligé de partir je reviens vers 20h
CDLT -
Re
Et moi je suis absent ce soir
Je regarderai en rentrant
Les écritures bleues le sont au départ (mises par toi), il faudrait si je comprends bien, reclasser (avec une macro) pour qu'elles apparaissent en tête de chaque liste ? mais sur quel fichier celui de départ où sur le 2nd trié par ordre alphabétique (je penche pour celui là )
Confirmes moi si possible
Résultat dans la nuit ou demain
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein -
-
Re
https://www.cjoint.com/?0Imx44CaRlQ
La macro bleu appelée de n'importe quelle feuille place les données en bleu en tête de liste
Je l'ai appliqué à la nouvelle feuille essai 3 puis j'ai fait trier les valeurs par ordre alpha sur la colonne H pour remettre ensemble des valeurs comme AFC004 et AFC4
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein -
bonjour,
Ok c'est fabuleux.
Je voudrais te remercier pour l'aide que tu m'as apporté. Evidemment, ces remerciements s'adressent à tous ceux qui font vivre ce site.
Je vais pouvoir d'arrache pied travailler sur tableau pour mettre de l'ordre maintenant.
Au fur et à mesure de ce chemin, une question me tracasse maintenant comment injecter tous ces données pour corriger toutes les erreurs ( après des vérifs) en appliquant une règle unique.
Comment remplacer un identifiant en noir par l'identifiant bleu avec ces tirets et 0 sans macro?
Est ce que je dois créer un nouveau sujet ou tu peux y répondre ?
cdlt -
Bonjour
Où veux tu remplacer les écritures noires ? dans la colonne A ?
Cdlmnt
-
Bonjour
Pour te donner une idée du système. les données bleues et noires viennent de deux sociétés différentes et de logiciel différent. En plus les données bleues sont la base de référence. Les données noires devraient être identiques mais tu as pu t'en rendre compte ce n'est pas le cas. Quand mon travail sera fait je devrais me retrouver avec la même écriture d'identifiant entre le noir et le bleu.
dans le cas de :
ABC109-02 (en bleu) je vais contrôler que ABC10902 (en noir) est bien identique. si oui je vais remplacer ABC10902 par ABC109-02. et çà pour toutes les références qui me posent problème.
Ensuite quand j'aurais contrôlé l'ensemble des données du fichier "essais 3" je dois corriger dans un fichier toutes les erreurs relevées.
Peut être faudra t il alimenter au fur et à mesure une liste de ces identifiants (AFC109-02 = AFC10902; etc ...........) et qu'il les remplace.
Est ce suffisant ?
Cdlt -
Re,
En fait il faudrait faire une table de correspondance avec dans une colonne les écritures noires possibles et dans la seconde colonne la bonne écriture bleue
Ensuite dans un fichier de base avec les données avec une RECHERCHEV il serait possible d'aller chercher la bonne écriture et de la faire inscrire dans une colonne à côté de l'autre par exemple
Cependant il ya des écritures noires sans écriture bleue exemple AHJ11001 et AHJ110-01 et ce n'est pas la seule, que faire dans ce cas ?
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
- 1
- 2