La fonction VBA INSTR renvoie un entier correspondant à la première position trouvée de la valeur dans la chaîne de caractères (ou 0 si aucune correspondance n'est trouvée).
InStr(start_position, texte, search_value)
Ou
InStr(start_position, texte, search_value, case)
Utilisation de la fonction InStr pour déterminer la position du mot "excel" (en démarrant la recherche à partir du caractère 1 du nom du site) :
Sub InStrExample1() sitename = "www.moonexcel.com.ua" 'Position du mot "excel" dans sitename position = InStr(1, sitename, "excel") MsgBox position 'Retours : 9 End Sub
Utilisation de la fonction InStr pour trouver la position du mot "EXCEL" (cette fois en ajoutant la valeur "1" au 4ème argument pour ignorer la casse) :
Sub InStrExample2() sitename = "www.moonexcel.com.ua" 'Position du mot "EXCEL" dans sitename (insensible à la casse) position = InStr(1, sitename, "EXCEL", 1) MsgBox position 'Retours : 9 End Sub
La fonction InStr peut également être utilisée pour déterminer si un nom de site contient une chaîne de recherche :
Sub InStrExample3() sitename = "www.moonexcel.com.ua" If InStr(1, sitename, "excel") > 0 Then MsgBox "Donc!" End If End Sub
Dans cet exemple, si la position est trouvée, la fonction renvoie un nombre supérieur à 0 et affiche une boîte de dialogue.