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 :
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 :
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