[VBA] Recherche de chaines approchantes

Orodreth

XLDnaute Impliqué
Bonjour à tous et à toutes,

J'ai un problème que je n'arrive pas à résoudre sur les manipulations de chaines de caractère.

J'ai un tableau de synthèse qui me résume le nom des feuilles (en tête de colonne), et pour chacune, les numéros de série et les numéros d'immobilisation.

Chacune des feuilles en contient un certain nombres. Du coup, j'ai mes 7 colonnes sur la feuille de synthèse.

Ensuite, j'ai une feuille "GDB..." qui me donne la liste de ce qui a été vu sur le terrain par les agents.
Sur cette feuille, il manque notamment le numéro d'immobilisation, le pivot se faisant sur le numéro de série.

Le problème étant que ce numéro de série est saisi manuellement, donc potentiellement soumis à des erreurs de frappe, des inversions, des ajouts, etc etc.

On part du principe que le relevé terrain fait par l'agent colle au plus près de la réalité, il sert donc de référenciel.

A partir de ce référentiel, je dois parcourir les différents numéro de série sur la feuille de synthèse, trouver celui qui s'approche le plus, et sauvegarder numéro de série et numéro d'immobilisation dans une feuille de correspondance.

J'ai essayé divers algorithmes phonétiques (Soundex, Double Metaphone, Distance de Levenshtein, Inférence_Basique).
Le soundex et le Double Metaphone sont trop génériques, donc risque de doublons élevés.
L'inférence_Basique ne matche pas les bons numéros de série, et la distance de Levenshtein a un temps d'éxécution carrément affolant (je l'ai lancé tout à l'heure à 13h, à 16h il n'avait pas fini ==> arrêt manuel).

Ce dernier semble le plus précis, mais je n'ai pas pu le confirmer, le nombre d'informations étant tout simplement trop conséquent (88000 * 785 => 6 908 000).

Je joins un fichier reprenant les différentes feuilles (Synth - que j'ai limitée pour l'exemple -, GDB, correspondance), ainsi que les modules VBA (ThisWorkbook, et les fichiers dans Modules).

Bon, j'ai du biaiser, donc le fichier compressé est lui-même à l'intérieur d'une archive. Donc double compression, j'espère qu'il n'y aura pas de perte d'infos ...

Si quelqu'un peut y jeter un coup d'oeil, et me donner un coup de main, j'apprécierais grandement parce que je m'y perds complétement.

Je précise aussi que les algos de phonétique ne sont pas les miens, je les ai trouvés sur le net.

Merci d'avance à tous,
Cordialement,
Thomas
 

Pièces jointes

  • AlgoPhon.zip
    700.8 KB · Affichages: 99

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch