VBA
Rechercher dans les chaînes la présence de sous-chaînes
Recherche…
Remarques
Lorsque vous devez vérifier la présence ou la position d'une sous-chaîne dans une chaîne, VBA propose les fonctions InStr
et InStrRev
qui renvoient la position de la chaîne dans la chaîne, si elle est présente.
Utiliser InStr pour déterminer si une chaîne contient une sous-chaîne
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
'Check if baseString contains "bar" (case insensitive)
containsBar = InStr(1, baseString, "bar", vbTextCompare) > 0
'containsBar = True
'Check if baseString contains bar (case insensitive)
containsBar = InStr(1, baseString, "bar", vbBinaryCompare) > 0
'containsBar = False
Utiliser InStr pour rechercher la position de la première instance d'une sous-chaîne
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
Dim posB As Long
posB = InStr(1, baseString, "B", vbBinaryCompare)
'posB = 5
Utiliser InStrRev pour rechercher la position de la dernière instance d'une sous-chaîne
Const baseString As String = "Foo Bar"
Dim containsBar As Boolean
'Find the position of the last "B"
Dim posX As Long
'Note the different number and order of the paramters for InStrRev
posX = InStrRev(baseString, "X", -1, vbBinaryCompare)
'posX = 0
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow