, on ne demmande pas de programme tout fait.
T'as au moins des idées j'espére.
Je te met sur la voie, utilise InStr et une boucle. (je t'ai même tout dis)
__________
Kenji
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 janv. 2007 à 08:50
Split est efficace, mais lent...
on génère ici un tableau de chaine de caractère, ce qui peut etre assez lourd.
Const Str As String = "Bonjour CodeS-SourceS"
MsgBox UBound(Split(Str, "ou")) 'Retourne 2
Retournera en fait 1, car tu affiches le UBound...
voici une fonction plus rapide, qui utlilise ce que tu Charles a énoncé en premier (Instr et Boucle) :
Public Function Count(ByRef
vsInput As String, ByRef vsPattern As String, Optional ByVal veCompare As VbCompareMethod = vbBinaryCompare) As Integer
Dim
i As Long
i = InStr(1, vsInput, vsPattern, veCompare)
Do While i
Count = Count + 1
i = InStr(i + 1, vsInput, vsPattern, veCompare)
Loop
End Function