[ Algorithme ] Comparaison de 2 mots

Fermé
MychaL - 30 mars 2007 à 12:18
 alilo - 3 janv. 2011 à 20:52
Bonjour,

je voudrais faire une comparaison entre 2 mots et calculer la pertinence du résultat (ie dire que le mot que je compare correspond pour à 90% à celui de référence).

Est ce que qqun a t il deja fait cela ?

Est ce que qqun a un lien ou un algo à me filer qui pourrait m'aider ?

Merci

9 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
29 févr. 2008 à 23:18
bonjour

Si j'ai compris ce que tu cherches à faire, je te propose cette fonction à inclure dans un module VBA
Public Function compar(m1 As String, m2 As String, Optional k As Integer = 0) As Double
Dim i As Integer
Dim j As Integer
Dim r As Integer
Application.Volatile
j = Len(m1): r = 0
If Len(m2) > j Then j = Len(m2)
For i = 1 To j
    If k = 1 Then
        If Mid(m1, i, 1) = Mid(m2, i, 1) Then r = r + 1
    Else
        If LCase(Mid(m1, i, 1)) = LCase(Mid(m2, i, 1)) Then r = r + 1
    End If
Next i
compar = r / j
End Function


Pour l'utiliser tu fais comme pour les fonctions excel :
=compar(A1;A2) -> cela va te donner le pourcentage d'identité des deux cellules.

Si tu veux tenir compte de la casse des textes comparés tu mets :
=compar(A1;A2;1)

Il faut mettre la cellule en format pourcentage, sinon le nombre décimal est affiché.
3