homer_Marge
Messages postés1Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 8 août 2007
-
8 août 2007 à 15:32
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
8 août 2007 à 23:24
Bonjour à tous,
je cherche à compter un nombre de caractère particulier dans une chaine de caractère
exemple:
je cherche à compter le nombre de "/" dans str="qsdgqgdsg/qsdghdqd/sgdgd/qgsd/"
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 8 août 2007 à 23:24
salut,
en rajoutant 1 au résultat de Kenji ^^
Sinon, autre méthode, mon snippet. Certe plus long, mais permet aussi de compter des mots (plus d'un caractère) :
Option Explicit
Public Function NbInStr(ByVal MyStart As Long, ByVal MyWord As String, ByVal MyString As String) As Long
If MyStart < 1 Or LenB(MyWord) < 2 Or LenB(MyString) < 2 Then Exit Function
Dim i As Long, MyCounter As Long
MyCounter = 0
For i = MyStart * 2 - 1 To LenB(MyString) Step 2 If MidB(MyString, i, LenB(MyWord)) MyWord Then MyCounter MyCounter + 1
Next i
NbInStr = MyCounter
End Function
Sub Exemple_Utilisation()
Debug.Print NbInStr(1, "mot", "Compte le nombre de mot 'mot' dans cette chaine")
' retournera 2
End Sub