Comment utiliser la fonction StrComp dans VBA ?

La fonction `StrComp` en VBA est utilisée pour comparer deux chaînes de caractères. Elle peut déterminer si une chaîne est égale à, supérieure à, ou inférieure à une autre, en fonction des valeurs ASCII des caractères ou selon une comparaison de texte. Voici comment l’utiliser :

Syntaxe

StrComp(string1, string2, [compare])

Paramètres

  • string1 : La première chaîne de caractères à comparer.
  • string2 : La deuxième chaîne de caractères à comparer.
  • compare : (Optionnel) Un argument qui détermine le type de comparaison. Il peut prendre les valeurs suivantes :
    • `vbBinaryCompare` : Effectue une comparaison binaire (sensible à la casse). C’est la valeur par défaut.
    • `vbTextCompare` : Effectue une comparaison textuelle (insensible à la casse).

Valeurs de retour

La fonction renvoie un type de données `Variant (Integer)` avec les valeurs suivantes :

  • `-1`: `string1` est inférieure à `string2`.
  • `0`: `string1` est égale à `string2`.
  • `1`: `string1` est supérieure à `string2`.
  • `Null`: Si l’un des paramètres `string1` ou `string2` est `Null`.

Exemple d’utilisation

Voici un exemple de code pour utiliser `StrComp` dans une macro VBA :

Sub ComparerChains()
    Dim result As Integer
    Dim chaine1 As String
    Dim chaine2 As String
    
    chaine1 = "Bonjour"
    chaine2 = "bonjour"
    
    ' Comparaison binaire (sensible à la casse)
    result = StrComp(chaine1, chaine2, vbBinaryCompare)
    
    Select Case result
        Case -1
            MsgBox "chaine1 est inférieure à chaine2."
        Case 0
            MsgBox "chaine1 est égale à chaine2."
        Case 1
            MsgBox "chaine1 est supérieure à chaine2."
    End Select
    
    ' Comparaison textuelle (insensible à la casse)
    result = StrComp(chaine1, chaine2, vbTextCompare)
    
    Select Case result
        Case -1
            MsgBox "chaine1 est inférieure à chaine2 (insensible à la casse)."
        Case 0
            MsgBox "chaine1 est égale à chaine2 (insensible à la casse)."
        Case 1
            MsgBox "chaine1 est supérieure à chaine2 (insensible à la casse)."
    End Select
End Sub

Dans cet exemple, vous avez deux comparaisons : l’une sensible à la casse et l’autre non. Cela vous permet de comprendre comment `StrComp` peut être utilisé selon vos besoins en termes de comparaison de chaînes.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project