Compter le nb de carac

Signaler
Messages postés
1
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
8 août 2007
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
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/"


merci d'avance

2 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
34
Salut,

Tu split et tu renvois le nombre de partie :
MsgBox UBound(VBA.Strings.Split("qsdgqgdsg/qsdghdqd/sgdgd/qgsd/", "/"))







__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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

~ <small> Mortalino ~ Colorisation automatique </small>

@++

<hr width ="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>