Fonction VBA : InStr

La fonction VBA InStr renvoie un nombre entier correspondant à la première position trouvée d'une valeur dans une chaîne de caractères (ou la valeur 0 si aucune correspondance n'a été trouvée).

Utilisation :

InStr(no_départ, texte, valeur)

ou

InStr(no_départ, texte, valeur, casse)


Exemples d'utilisation

Utilisation de la fonction InStr pour déterminer la position du mot excel (en commençant les recherches à partir du caractère 1 du texte) :

Sub exemple()
    
    texte = "www.excel-pratique.com"
    
    'Position de "excel" dans le texte
    numero = InStr(1, texte, "excel")
    
    MsgBox numero 'Renvoie : 5
    
End Sub

Utilisation de la fonction InStr pour déterminer la position du mot EXCEL (en ajoutant cette fois-ci la valeur 1 en 4e argument pour ignorer la casse) :

Sub exemple()
    
    texte = "www.excel-pratique.com"
    
    'Position de "EXCEL" dans le texte (en ignorant la casse)
    numero = InStr(1, texte, "EXCEL", 1)
    
    MsgBox numero 'Renvoie : 5
    
End Sub

Vérifier si un texte contient une valeur

La fonction InStr peut également servir à déterminer si le texte contient ou non la chaîne de caractères recherchée :

Sub exemple()
    
    texte = "www.excel-pratique.com"
    
    If InStr(1, texte, "excel") > 0 Then
        MsgBox "Oui !"
    End If
    
End Sub

Dans cet exemple, si une position a été trouvée, un nombre supérieur à 0 est retourné par la fonction et la boîte de dialogue s'affiche.