COMPARAISON ENTRE 2 CHAINES

Signaler
Messages postés
2
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
3 janvier 2006
-
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
-
Bonjour,

J'utilise actuellement le code de Celiphane qui donne un pourcentage de similitude entre 2 chaines.(methode Ratcliff, Obershelp, Levenshtein)
Mais je voudrais aller plus loin. qu'est-il possible de faire ?

Remarque : je suis debutant !

3 réponses

Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
24
Que cherches-tu à faire exactement ? (quel est ton problème quoi!)
Et pense à toujours préciser dans quel langage tu codes (ici le VBA, d'accord) mais également la version.

Note qu'il y a plein de façons de comparer deux chaines de texte. La première étant d'utiliser les fonctions prévues à cette effet dans le VB/VBA !!!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
Messages postés
2
Date d'inscription
mardi 12 avril 2005
Statut
Membre
Dernière intervention
3 janvier 2006

D'abord, meilleurs voeux à vous tous

Je dois essayer de faire un referentiel unique à partir de 2 bases access qui ont des champs communs mais dont le contenu n'a pas forcement la même orthographe.
concernant VBA, c'est la 6.3
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
24
Donne donc plutot un exemple de chaines "types" que tu peux avoir! Et profite-en pour nous expliquer la méthode de
Celiphane!

Sinon, pour comparer deux chaines, selon leurs différences, il y a plusieurs techniques.
Dans les techniques de bases citons celle-ci :
- Aplanir la casse (min/maj tout en min ou tout en majuscules).
- Dans le même esprit, éliminer tout ce qui peut dépasser (accents, cédilles et co)
- Enlever ou reguler les espaces inter-mots et pré/post phrasiques
- Eliminer ou réguler les éléments phrasiques tel que les double-points ":", tirets "-", les apostrophes, guillemets, virgules, point-virgules et co

Ensuite, tu peux tanter de comparer la présence de chaque mot qu'importe l'ordre. Mais là, il faut déjà découper la phrase en plusieurs mots puis la comparer (donc, comparer la présence de chaque mots) avec toutes les autres phrases (mot à mot également). Autrement dit, c'est du boulot... surtout lors du traitement. Ca ira si tu ne dois le faire qu'une fois (bien le temps passé à coder ça et le mettre au point ne représente pas forcément une approche pragmatique du problème [selon la taille de tes DB]), mais si ça doit être employer de manière régulière, faudra optimiser à fond pour ne pas perdre 3 heures de traitement à chaque fois!

Bref, les solutions existent... mais tout dépend de ce que tu as réellement à faire!
Le VB/VBA propose déjà pas mal de fonctions bien utiles qui te faciliterons la tache... Mais si tu es débutant, l'entreprise est tout de meme un peu compliquée!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )