IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

comparer entre deux chaines de caractères


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 16
    Points
    16
    Par défaut comparer entre deux chaines de caractères
    Bonjour à tous,
    Comment comparer entre deux chaines de caractères de longeurs égales ou différentes et calculer la nombre de différences entre les deux?
    exemple:"entreprise" et "enreprise" ,résultat:1
    Merci

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Points : 228
    Points
    228
    Par défaut
    Cette question parait simple mais elle est en fait très complexe...

    Entre aabb et aaaba

    Tu comptes combien de différence ?

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Je confirme la complexité du sens de la question. ci-joint une proposition qui donne un résultat très approximatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Public Function CompText(ByVal Txt1 As String, ByVal Txt2 As String) As Integer
    Dim Mot1 As String, Mot2 As String
    Dim i As Integer, N As Integer
     
    N = IIf(Len(Txt1) >= Len(Txt2), 1, -1) * (Len(Txt1) - Len(Txt2))
    If N > 0 Then N = N - 1
    i = 1
    Do
       Mot1 = IIf(Len(Txt1) >= Len(Txt2), Txt1, Txt2)
       Mot2 = IIf(Len(Txt1) >= Len(Txt2), Txt2, Txt1)
       If UCase(Mid(Mot1, i, 1)) <> UCase(Mid(Mot2, i, 1)) Then
          Txt1 = Mid(Mot1, i + 1)
          Txt2 = Mid(Mot2, i)
          N = N + 1
          i = 1
       End If
       i = i + 1
    Loop While Len(Mot1) * Len(Mot2) <> 0 And i <= Len(Mot1) + 1
    CompText = N
    End Function
    =CompText("aabb";"aaaba") donne 2

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 16
    Points
    16
    Par défaut
    En fait ce que je veux c'est de savoir si il y'a un oubli dans le mots, du coup, pour: aaab et aab résultat:1
    aaab etaac résultat:2
    aaab et ab résultat:2
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparaisnt entre deux chaines de caractères
    Par rufa11 dans le forum Linux
    Réponses: 12
    Dernier message: 08/05/2009, 00h17
  2. Réponses: 2
    Dernier message: 17/06/2008, 21h14
  3. requête where entre deux chaines de caractères
    Par soltani1 dans le forum Développement
    Réponses: 2
    Dernier message: 04/10/2007, 09h34
  4. requête where entre deux chaines de caractères
    Par soltani1 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/10/2007, 09h34
  5. espace entre deux chaines de caractères
    Par Pitou5464 dans le forum Access
    Réponses: 2
    Dernier message: 09/08/2006, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo