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.