cs_djldjl
Messages postés2Date d'inscriptionmardi 12 avril 2005StatutMembreDernière intervention 3 janvier 2006
-
30 déc. 2005 à 14:06
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 2007
-
3 janv. 2006 à 11:10
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 ?
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 31 déc. 2005 à 08:18
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". )
cs_djldjl
Messages postés2Date d'inscriptionmardi 12 avril 2005StatutMembreDernière intervention 3 janvier 2006 3 janv. 2006 à 09:32
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
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 3 janv. 2006 à 11:10
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". )