Comparer deux colonnes

Résolu
capeo Messages postés 188 Statut Membre -  
capeo Messages postés 188 Statut Membre -
Bonjour,

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
Résumé de la discussion

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.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  2. capeo Messages postés 188 Statut Membre
     
    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
    0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  4. capeo Messages postés 188 Statut Membre
     
    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
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. capeo Messages postés 188 Statut Membre
     
    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
    0
  7. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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)
    0
  8. capeo Messages postés 188 Statut Membre
     
    tu ne peux pas faire quelque en fonction de la couleur directement ?
    0
  9. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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 ?
    0
  10. capeo Messages postés 188 Statut Membre
     
    laisse tomber la MFC, je pars un peu en live ..........
    0
  11. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  12. capeo Messages postés 188 Statut Membre
     
    re
    ok c'est la bonne voie

    cdlt
    0
    1. capeo Messages postés 188 Statut Membre
       
      Bonjour

      je viens de regarder ce soir, que veux tu ajouter ? cela m'aiderait pour suivre ton raisonnement.

      cdlt
      0
  13. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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

    0
  14. capeo Messages postés 188 Statut Membre
     
    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
    0
  15. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  16. capeo Messages postés 188 Statut Membre
     
    Re

    le 2nd trié

    ok

    cdlt
    0
  17. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  18. capeo Messages postés 188 Statut Membre
     
    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
    0
  19. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Où veux tu remplacer les écritures noires ? dans la colonne A ?

    Cdlmnt

    0
  20. capeo Messages postés 188 Statut Membre
     
    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
    0
  21. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
  • 1
  • 2