Fonction InStr

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 DansChaîne contient les arguments suivants :

Argument Description
début Facultatif. Expression numérique qui définit la position de départ pour 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 comparer est omis, le paramètre OptionCompare détermine le type de comparaison. Spécifiez un LCID valide (LocaleID) pour utiliser les règles spécifiques aux paramètres régionaux dans la comparaison.

Conseil

Le Générateur d’expressions inclut IntelliSense, ce qui vous permet de voir les arguments nécessaires à votre expression.

Paramètres

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

Constante Valeur Description
vbUseCompareOption -1 Effectue une comparaison en utilisant le 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 is Null Null
string2 est de longueur nulle de démarrage
chaîne2 est Null Null
Chaîne2 est introuvable 0
Chaîne2 se trouve dans chaîne1 Position à laquelle une correspondance est trouvée
chaîne de début2 > 0

Remarques

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

Exemples

Utiliser la fonction DansChaîne dans une expression Vous pouvez utiliser InStr partout où vous pouvez utiliser des expressions. Par exemple, si vous souhaitez trouver la position du premier point (.) dans un champ contenant des adresses IP (nommé AdresseIP), vous pouvez utiliser InStr pour la trouver, comme suit :

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

La fonction DansChaîne examine chaque valeur du champ AdresseIP et renvoie la position de la première période. Par conséquent, si la première partie de l’adresse IP est 10., la fonction renvoie la valeur 3.

Vous pouvez ensuite utiliser d’autres fonctions, opérant sur la sortie de la fonction DansChaîne , pour extraire la partie de l’adresse IP qui précède la première période, comme ceci :

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

Dans cet exemple, InStr(1,[IPAddress], ». ») Retourne la position de la première période. La soustraction de 1 détermine le nombre de caractères précédant la première période, dans ce cas, 2. La fonction Gauche extrait ensuite ce nombre de caractères de la partie gauche du champ AdresseIP 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 DansChaîne pour renvoyer 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