Catégories
Macro VBA Caractères Macro VBA Recherche Macros VBA

VBA InStr() : macro pour trouver la position d’un ou plusieurs caractères

Partager :

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

ABCDE
1Fonction VBA Mid
2Fonction Excel STXT
3Fonction Caractères
4Fonction Substitue()
5Fonction Remplacer

Le résultat

ABCDE
1Fonction VBA Mid90
2Fonction Excel STXT90
3Fonction Caractères919
4Fonction Substitue()913
5Fonction Remplacer90
La fonction prend en compte la casse, soit les majuscules et les minuscules.