Instr dans Excel VBA - Macros Excel faciles

Table des matières

Fonction Instr simple | Position de départ | Zéro | Instr et Si | Recherche insensible à la casse

Utilisation Instr dans Excel VBA pour trouver la position d'une sous-chaîne dans une chaîne. La fonction Instr est assez polyvalente.

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code ci-dessous. Pour exécuter les lignes de code, cliquez sur le bouton de commande sur la feuille.

Fonction Instr simple

Par défaut, la fonction Instr commence la recherche au début de la chaîne (position 1).

Code:

État faible en tant que chaîne
état = "Virginie"
MsgBox InStr(état, "gin")

Résultat:

Remarque : chaîne "gin" trouvée à la position 4.

La position de départ

La deuxième fonction Instr ci-dessous commence la recherche à la position 7.

Code:

État faible en tant que chaîne
état = "Caroline du Sud"
MsgBox InStr(état, "o")
MsgBox InStr(7, état, "o")

Résultat:

Explication : la première fonction Instr trouve la chaîne "o" à la position 2. La deuxième fonction Instr commence la recherche à la position 7 et trouve la chaîne "o" à la position 10.

Zéro

La fonction Instr renvoie 0 si la chaîne n'est pas trouvée (important comme nous le verrons par la suite).

Code:

État faible en tant que chaîne
état = "Floride"
MsgBox InStr(état, "nous")

Résultat:

Conclusion : chaîne "nous" introuvable.

Instr et Si

Créons un programme VBA simple qui utilise le Instr fonction.

Code:

État faible en tant que chaîne, sous-chaîne en tant que chaîne
état = Plage("A2").Valeur
sous-chaîne = Plage("B2").Valeur
Si InStr(état, sous-chaîne) > 0 Alors
Plage("C2").Valeur = "Trouvé"
Autre
Plage("C2").Valeur = "Introuvable"
Fin si

Résultat lorsque vous cliquez sur le bouton de commande sur la feuille :

Explication : chaîne "outh" trouvée à la position 2. La fonction Instr renvoie 2. Par conséquent, Excel VBA place la chaîne "Found" dans la cellule C2.

Recherche insensible à la casse

Par défaut, la fonction Instr effectue une recherche sensible à la casse. Entrez la chaîne "dakota" dans la cellule B2 et cliquez sur le bouton de commande sur la feuille.

Explication : chaîne "dakota" introuvable (première lettre sans majuscule). La fonction Instr renvoie 0. Par conséquent, Excel VBA place la chaîne « Not Found » dans la cellule C2.

Pour effectuer une recherche insensible à la casse, mettez à jour le code comme suit :

État faible en tant que chaîne, sous-chaîne en tant que chaîne
état = Plage("A2").Valeur
sous-chaîne = Plage("B2").Valeur
Si InStr(1, état, sous-chaîne, vbTextCompare) > 0 Alors
Plage("C2").Valeur = "Trouvé"
Autre
Plage("C2").Valeur = "Introuvable"
Fin si

Résultat lorsque vous cliquez sur le bouton de commande sur la feuille :

Explication : la fonction Instr présentée ci-dessus a 4 arguments. Pour effectuer une recherche insensible à la casse, spécifiez toujours une position de départ (premier argument) et utilisez vbTextCompare (quatrième argument).

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave