Comment comparer des chaînes dans VBA : avec des exemples



Vous pouvez utiliser les méthodes suivantes dans VBA pour comparer des chaînes :

Méthode 1 : comparaison de chaînes sensibles à la casse

Sub CompareStrings()
    Dim i As Integer

    For i = 2 To 10
        Range("C" & i) = StrComp(Range("A" & i), Range("B" & i)) = 0
    Next i
End Sub

Cette macro effectuera une comparaison de chaînes sensible à la casse entre les chaînes dans les cellules correspondantes dans les plages A2:A10 et B2:B10 et renverra VRAI ou FAUX dans la plage C2:C10 pour indiquer si les chaînes sont égales ou non.

Méthode 2 : comparaison de chaînes insensibles à la casse

Sub CompareStrings()
    Dim i As Integer

    For i = 2 To 10
        Range("C" & i) = StrComp(Range("A" & i), Range("B" & i), vbTextCompare) = 0
    Next i
End Sub

Cette macro effectuera une comparaison de chaînes insensible à la casse entre les chaînes dans les cellules correspondantes dans les plages A2:A10 et B2:B10 .

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec les listes de chaînes suivantes dans Excel :

Exemple 1 : comparaison de chaînes sensibles à la casse dans VBA

Nous pouvons créer la macro suivante pour effectuer une comparaison de chaînes sensible à la casse entre chaque chaîne correspondante dans les colonnes A et B :

Sub CompareStrings()
    Dim i As Integer

    For i = 2 To 10
        Range("C" & i) = StrComp(Range("A" & i), Range("B" & i)) = 0
    Next i
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

comparaison de chaînes sensibles à la casse dans VBA

La colonne C renvoie VRAI si les chaînes sont égales et ont la même casse.

Sinon, la colonne C renvoie FALSE .

Exemple 2 : comparaison de chaînes insensibles à la casse dans VBA

Nous pouvons créer la macro suivante pour effectuer une comparaison de chaînes insensible à la casse entre chaque chaîne correspondante dans les colonnes A et B :

Sub CompareStrings()
    Dim i As Integer

    For i = 2 To 10
        Range("C" & i) = StrComp(Range("A" & i), Range("B" & i), vbTextCompare) = 0
    Next i
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

comparaison de chaînes insensible à la casse dans VBA

La colonne C renvoie VRAI si les chaînes sont égales, quelle que soit la casse.

La colonne C renvoie FALSE uniquement si les chaînes ne sont pas égales.

Remarque : Vous pouvez trouver la documentation complète de la fonction StrComp dans VBA ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment remplacer des caractères dans une chaîne
VBA : Comment supprimer les caractères spéciaux d’une chaîne
VBA : Comment convertir une chaîne en entier

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *