- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- ' Recherche d'une chaine de caractère dans une phrase
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-
- 'Instruction Option Explicit: Force la déclaration explicite de toutes les variables dans un script
- Option Explicit
-
- 'Instruction Const: Déclare des constantes destinées à remplacer des valeurs littérales
- Const Texte = "Recherche d'une chaine de caractère dans une phrase"
- Const sChaine = "che" 'chaine recherchée
-
- 'Instruction Dim: Déclare des variables et alloue l'espace de stockage
- Dim aPos() , iPos
- 'Instruction ReDim: Déclare les variables de tableau dynamique et attribue ou
- 'réattribue l'espace de stockage au niveau de la procédure
- 'Tableau où sont stockées les positions
- ReDim aPos(0)
-
- 'Fonction InStr: Renvoie la position de la première occurrence d'une chaîne
- 'à l'intérieur d'une autre
- iPos = InStr(1, Texte, sChaine)
-
- 'Instruction While...Wend: Exécute une série d'instructions tant qu'une condition donnée est True
- While iPos <> 0
- 'Fonction UBound: Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau
- ReDim Preserve aPos(UBound(aPos) + 1)
- aPos(UBound(aPos)) = iPos
- iPos = InStr(iPos + 1, Texte, sChaine)
- Wend
-
- 'Instruction If...Then...Else: Exécute un groupe d'instructions soumises à une condition,
- 'en fonction de la valeur d'une expression
- If UBound(aPos) > 0 Then
- Dim i , Resultat
- Resultat = "L'occurrence """ & sChaine & """ a été trouvée " & UBound(aPos) & " fois " &_
- "dans l'expression " &vbCrLf&vbCrLf& """" & Texte & """" &vbCrLf
-
- 'Instruction For...Next: Répète un groupe d'instructions un nombre spécifié de fois
- 'Fonction CStr: Renvoie une expression qui a été convertie en un Variant de sous-type String
- 'Fonction Len: Renvoie le nombre de caractères contenus dans une chaîne
- For i = 1 To UBound(aPos)
- Resultat = Resultat & vbCrLf & "Postion: " & CStr(aPos(i)) & "," & CStr(aPos(i)) + Len(sChaine)
- Next
-
- Else
-
- Resultat = "L'occurrence """ & sChaine & """ n'a pas été trouvée dans l'expression " &vbCrLf&vbCrLf&_
- """" & Texte & """"
- End If
-
- MsgBox Resultat
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Recherche d'une chaine de caractère dans une phrase
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Instruction Option Explicit: Force la déclaration explicite de toutes les variables dans un script
Option Explicit
'Instruction Const: Déclare des constantes destinées à remplacer des valeurs littérales
Const Texte = "Recherche d'une chaine de caractère dans une phrase"
Const sChaine = "che" 'chaine recherchée
'Instruction Dim: Déclare des variables et alloue l'espace de stockage
Dim aPos() , iPos
'Instruction ReDim: Déclare les variables de tableau dynamique et attribue ou
'réattribue l'espace de stockage au niveau de la procédure
'Tableau où sont stockées les positions
ReDim aPos(0)
'Fonction InStr: Renvoie la position de la première occurrence d'une chaîne
'à l'intérieur d'une autre
iPos = InStr(1, Texte, sChaine)
'Instruction While...Wend: Exécute une série d'instructions tant qu'une condition donnée est True
While iPos <> 0
'Fonction UBound: Renvoie le plus grand indice disponible pour la dimension indiquée d'un tableau
ReDim Preserve aPos(UBound(aPos) + 1)
aPos(UBound(aPos)) = iPos
iPos = InStr(iPos + 1, Texte, sChaine)
Wend
'Instruction If...Then...Else: Exécute un groupe d'instructions soumises à une condition,
'en fonction de la valeur d'une expression
If UBound(aPos) > 0 Then
Dim i , Resultat
Resultat = "L'occurrence """ & sChaine & """ a été trouvée " & UBound(aPos) & " fois " &_
"dans l'expression " &vbCrLf&vbCrLf& """" & Texte & """" &vbCrLf
'Instruction For...Next: Répète un groupe d'instructions un nombre spécifié de fois
'Fonction CStr: Renvoie une expression qui a été convertie en un Variant de sous-type String
'Fonction Len: Renvoie le nombre de caractères contenus dans une chaîne
For i = 1 To UBound(aPos)
Resultat = Resultat & vbCrLf & "Postion: " & CStr(aPos(i)) & "," & CStr(aPos(i)) + Len(sChaine)
Next
Else
Resultat = "L'occurrence """ & sChaine & """ n'a pas été trouvée dans l'expression " &vbCrLf&vbCrLf&_
"""" & Texte & """"
End If
MsgBox Resultat