Recherche de nombre d'apparition d'une chaine dans une autre chaine de caractere

cs_ghannem Messages postés 37 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 11 juin 2008 - 10 nov. 2004 à 20:37
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 - 10 nov. 2004 à 22:41
Comment faire
aidez moi

2 réponses

pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006
10 nov. 2004 à 21:30
Je t'ai fait une fonction tu l'appele comme ca (une message box qui affiche le resultat):

Private Sub CommandButton1_Click()
MsgBox RechercheStrInStr("Bla", "blablablabla")
End Sub

Et voici la fonction que tu place dans un module:

Public Function RechercheStrInStr(ByVal StrToFind As String, ByVal StrInitial As String) As Long
Dim Error As Variant
Dim Tmpstr As String
'Initialisation de la fonction
'renvoi 0 si rien n'est trouve
RechercheStrInStr = 0

'On met toutes les string en minuscules
StrToFind = Format(StrToFind, "<")
StrInitial = Format(StrInitial, "<")

'Verifie que la string a rechercher n'est pas plus longue que la string initiale
If Len(StrToFind) > Len(StrInitial) Then
Error = MsgBox("La string a rechercher est plus longue que la string initiale!", vbExclamation)
End If

'On commence la recherche
For i = 1 To Len(StrInitial)
Tmpstr = Mid(StrInitial, i, Len(StrToFind))
If Tmpstr = StrToFind Then
RechercheStrInStr = RechercheStrInStr + 1
End If
Next i

End Function
0
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
10 nov. 2004 à 22:41
il y a ca aussi, ca fait moins de lignes :

Dim Mylist() As String
Mylist() = Split("blablablablabbbbla", "bla", -1, vbTextCompare)
MsgBox UBound(Mylist())
0
Rejoignez-nous