Comment utiliser la fonction InStr dans VBA ?

La fonction `InStr` en VBA est utilisée pour rechercher la position d’une sous-chaîne au sein d’une autre chaîne. Elle renvoie l’index de la première occurrence de la sous-chaîne. Si la sous-chaîne n’est pas trouvée, elle retourne zéro. Voici comment l’utiliser :

Syntaxe

InStr([start], string1, string2, [compare])
  • start (facultatif) : Position de départ de la recherche. Par défaut, elle est 1.
  • string1 : Chaîne dans laquelle vous voulez rechercher.
  • string2 : Sous-chaîne à rechercher.
  • compare (facultatif) : Type de comparaison. Vous pouvez utiliser :
    • `vbBinaryCompare` (par défaut) : Comparaison binaire, sensible à la casse.
    • `vbTextCompare` : Comparaison textuelle, insensible à la casse.
    • `vbDatabaseCompare` : Disponible uniquement dans les bases de données Microsoft Access.

Exemple simple

Voici un exemple simple montrant comment utiliser `InStr` :

Sub ExampleInStr()
    Dim position As Integer
    Dim mainString As String
    Dim searchString As String

    mainString = "Bonjour tout le monde"
    searchString = "tout"

    ' Rechercher "tout" dans "Bonjour tout le monde"
    position = InStr(1, mainString, searchString, vbTextCompare)
    
    If position > 0 Then
        MsgBox "La sous-chaîne a été trouvée à la position " & position
    Else
        MsgBox "La sous-chaîne n'a pas été trouvée."
    End If
End Sub

Détails supplémentaires

  • Si vous omettez l’argument `start`, la recherche commence au début de la chaîne (`start` = 1).
  • Le choix du type de comparaison (`compare`) est crucial si vous voulez que la recherche soit ou non sensible à la casse.
  • Quand `InStr` retourne zéro, cela signifie que la sous-chaîne n’a pas été trouvée.

Cette fonction est très utile pour analyser et manipuler des chaînes dans VBA.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project