La fonction InStr dans VBA est utilisée pour trouver la position d'un ou plusieurs caractères dans une chaîne. InStrRev est la fonction inverse qui recherche la position d'un ou plusieurs caractères dans une chaine en partant de la fin. La fonction tient compte de la casse.
La fonction InStr
La fonction VBA InStr suit la syntaxe suivante :
Instr(position_départ,variable,caractère_recherché,comparaison)
où :
- position_départ correspond à la position à partir de laquelle rechercher le caractère
- variable correspond à la chaine ou la cellule à analyser
- caractère_recherché désigne le ou les caractères recherchés
- comparaison désigne le type de comparaison et peut prendre les valeurs suivantes :
- vbUseCompareOption : comparaison avec l'option Compare dans le module
- vbBinaryCompare : comparaison binaire
- vbTextCompare : comparaison textuelle
Exemple de macro avec InStr
La macro
Sub nommacro()
Dim i As Integer
For i = 1 To 5
'Résultat dans Ligne de 1 à 5, Colonne 2
Cells(i, 2).Value = InStr(1, Cells(i, 1), " ")'Résultat dans Ligne de 1 à 5, Colonne 3
Cells(i, 3).Value = InStr(1, Cells(i, 1), "s")Next i
End Sub
Les données sources
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Fonction VBA Mid | ||||
2 | Fonction Excel STXT | ||||
3 | Fonction Caractères | ||||
4 | Fonction Substitue() | ||||
5 | Fonction Remplacer |
Le résultat
A | B | C | D | E | |
---|---|---|---|---|---|
1 | Fonction VBA Mid | 9 | 0 | ||
2 | Fonction Excel STXT | 9 | 0 | ||
3 | Fonction Caractères | 9 | 19 | ||
4 | Fonction Substitue() | 9 | 13 | ||
5 | Fonction Remplacer | 9 | 0 |
La fonction prend en compte la casse, soit les majuscules et les minuscules.