Renvoie une donnée de type Variante (Long) spécifiant la position de la première occurrence d’une chaîne dans une autre chaîne.

Voir quelques exemples

Syntaxe

InStr ([start, ] string1, string2 [, compare ] )

La syntaxe de la fonction InStr contient les arguments suivants :

Argument

Description

début

Facultatif. Expression numérique qui définit la position de départ de chaque recherche. Si elle est omise, la recherche commence à la position du premier caractère. Si start contient Null, une erreur se produit. L’argument début est obligatoire si comparaison est spécifié.

chaîne1

Obligatoire. Expression de chaîne recherchée.

chaîne2

Obligatoire. Expression de chaîne recherchée.

comparaison

Facultatif. Spécifie le type de comparaison de chaînes. Si comparaison a la valeur Null, une erreur se produit. Si compare est omis, le paramètre OptionCompare détermine le type de comparaison. Spécifiez un LCID (LocaleID) valide pour utiliser des règles spécifiques aux paramètres régionaux dans la comparaison.

Conseil : Le Générateur d’expressions a IntelliSense, ce qui vous permet de voir les arguments requis par votre expression.

Paramètres

Les paramètres d’argument de comparaison sont les suivants :

Constante

Valeur

Description

vbUseCompareOption

-1

Effectue une comparaison à l’aide du paramètre de l’instruction Option Compare .

vbBinaryCompare

0

Effectue une comparaison binaire.

vbTextCompare

1

Effectue une comparaison textuelle.

Valeurs de retour

Si

InStr retourne

string1 est de longueur nulle

0

string1 a la valeur Null

Null

string2 est de longueur nulle

début

string2 a la valeur Null

Null

chaîne2 introuvable

0

string2 se trouve dans string1

Position à laquelle la correspondance est trouvée

démarrer > chaîne2

0

Remarques

La fonction InStrB est utilisée avec les données d’octet contenues dans une chaîne. Au lieu de retourner la position de caractère de la première occurrence d’une chaîne dans une autre, InStrB renvoie la position d’octet.

Exemples

Utiliser la fonction InStr dans une expression    Vous pouvez utiliser InStr partout où vous pouvez utiliser des expressions. Par exemple, si vous souhaitez trouver la position de la première période (.) dans un champ qui contient des adresses IP (nommée IPAddress), vous pouvez utiliser InStr pour le trouver, comme suit :

InStr(1,[ADRESSE IP], ». »)

La fonction InStr examine chaque valeur dans le champ IPAddress et retourne la position du premier point. Par conséquent, si la première partie de l’adresse IP est 10., la fonction retourne la valeur 3.

Vous pouvez ensuite utiliser d’autres fonctions, fonctionnant sur la sortie de la fonction InStr , pour extraire la partie de l’adresse IP qui précède la première période, comme suit :

Left([IPAddress],(InStr(1,[IPAddress], ». ») -1))

Dans cet exemple, InStr(1,[IPAddress], ». ») retourne la position du premier point. La soustraction de 1 détermine le nombre de caractères qui précèdent la première période, dans ce cas, 2. La fonction Left extrait ensuite ce nombre de caractères de la partie gauche du champ IPAddress, en renvoyant la valeur 10.

Utiliser InStr dans le code VBA    

Remarque : Les exemples suivants illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA).

Cet exemple utilise la fonction InStr pour retourner la position de la première occurrence d’une chaîne dans une autre.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Voir aussi

Fonctions de chaîne et comment les utiliser

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.