Algorithme Levenshtein automatisé - recherche de la meilleur

Bonjour,

Tout d'abord merci à toutes les personnes qui voudront bien répondre à mes questions.

Je souhaiterais faire un matching sous Excel entre deux feuilles de calcul qui contiennent des données différentes.

Certaines personnes sont présentes sur ces deux feuilles, ce qui m'emmène à vouloir générer un seul fichier, le plus complet possible.

J'ai donc dans ma feuille 1 :

Colonne A : Nom

Colonne B : Adresse

Colonne C : Code Postal

Colonnes D à K : infos diverses

J'ai dans ma feuille 2 :

Colonne A : Nom

Colonne B : Adresse

Colonne C : Code Postal

Colonne D : Numéro de téléphone

Ainsi donc, je souhaiterai récupérer le numéro de téléphone de la colonne D de la feuille 2 et l'intégrer dans la colonne L de la feuille 1.

Cela, en minimisant la distance de levenshtein ou en maximisant le pourcentage de similitude entre les deux chaînes de caractère.

Cela implique donc de faire pour chaque ligne de la feuille 1 un matching vers l'ensemble des lignes de la feuille 2, de garder en mémoire les résultats obtenus, prendre le meilleur résultat possible et récupérer le numéro dans la colonne D de la feuille 2 qui correspond à la ligne qui génère le meilleur résultat et l'intégrer dans la colonne L de la feuille 1.

J'ai trouvé des ressources sur :

http://stackoverflow.com/questions/16346451/find-which-cells-have-the-smallest-levenshtein-distance

http://stackoverflow.com/questions/4243036/levenshtein-distance-in-excel

Les fonctions fonctionnent (sauf la dernière, qui est selon la description 17 fois plus vite, mais qui fonctionne en 64 bits), mais je n'arrive pas à "boucler" la fonction levenshtein, à "stocker" les résultats en mémoire, à "sélectionner" le meilleur résultat, puis à "récupérer" le contenu pour l'intégrer dans une autre feuille.

Enfin, s'il est possible de pouvoir "pondérer" le matching entre les deux feuilles pour chaque colonne, ce serait parfait. Exemple, 0% d'erreur accepté pour le code postal, mais 5% d'erreur accepté pour le nom et l'adresse ... ( Car toutes les informations n'ont pas le même pouvoir / le même poids)

Quelqu'un pourrait-il m'apporter une aide pour résoudre ce problème ?

Merci d'avance.

bonjour,

une exemple dans le fichier joint

ajuster les paramètres dans la feuille "paramètres" et lancer la macro findphone via ALT-F8

si la fonction levenshtein ne fonctionne pas chez toi, copie une autre version.

1'004levenshtein.xlsm (19.95 Ko)

Mille merci, je vais faire quelques test mais semble t-il que c'est exactement ce que je recherchais.

Je vous tiens au courant dans la journée !

Merci

Rechercher des sujets similaires à "algorithme levenshtein automatise recherche meilleur"