Encore besoin d'aide : compter un caractere dans une chaine

Résolu
cs_mimimati Messages postés 19 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 29 août 2005 - 8 août 2005 à 11:26
cs_mimimati Messages postés 19 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 29 août 2005 - 8 août 2005 à 12:10
Bjr,

j'aiemrai savoir si ya un moyen de compter le nb d'apparation d'un caractere dans une chaine

je m explique :
tmp = "ABCA"
ic le nb de "A" dans la chaine = 2
le nb de "B" = 1

CAD en gros, pour un caractere spécifié, compter le nb d'apparation dans la chaine

6 réponses

soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
8 août 2005 à 11:42
'solution 1 :

'----------



' ********************************************************

' Comptes le nombre de caractères lettre$ dans un buffer

' ********************************************************

Public Function CompteCaract(buffer As String, lettre As String, nbre As Integer)

' Variables locales

Dim pos As Integer

Dim old_pos As Integer



' Début de la boucle

old_pos = 1

nbre = 0

pos = InStr(old_pos, buffer, lettre, vbBinaryCompare)



' Boucle

While pos <> 0

nbre = nbre + 1

old_pos = pos

pos = InStr(old_pos + 1, buffer, lettre, vbBinaryCompare)

Wend

End Function
3
fcampagne Messages postés 195 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 13 juillet 2006 3
8 août 2005 à 11:35
j'ai trouvé ca, si ca peut t'aider

http://vbfrance.com/forum.v2.aspx?id=44679
0
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
8 août 2005 à 11:43
'solution2 :

'----------



' cette fonction permet de compter le nombre d'occurrences d'une souschaine dans une chaîne plus grande.

' elle renvoie une variable de type entier avec comme valeurs possibles :

' -1 lorsque la sous chaîne est vide

' 0 lorsqu'il n'y a aucunne occurrence de la souschaine

' x le nombre d'occurrences rencontrées.





Public Function strCount(ByVal chaine As String, ByVal souschaine As String) As Integer

Dim varlen As Integer, temp



varlen = Len(souschaine)



If varlen = 0 Then

strCount = -1

Exit Function



Else

temp = InStr(1, chaine, souschaine)



If temp = 0 Then

strCount = 0

Exit Function



Else

While temp <> 0


strCount = strCount + 1


chaine = Mid(chaine, temp + varlen)


temp = InStr(1, chaine, souschaine)


If temp = 0 Then Exit Function

Wend

End If

End If

End Function
0
medelidrissi Messages postés 180 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 26 novembre 2007 2
8 août 2005 à 11:52
Bonjour,

Il y a pas mal de méthode pour faire cela.
Voici un simple exemple en utilisant les tableaux et la fonction split :

Dim tmp As String, CarRecherche As String
Dim tmpTab() As String
tmp = "ABCA"
CarRecherche = "c" 'Attention au majuscule minuscule
tmpTab = Split(tmp, CarRecherche)
MsgBox "Le nombre d'apparitions de '" & CarRecherche & "' dans '" & tmp & "' est : " & UBound(tmpTab)


Bonne programmation.


Cordialement medelidrissi
<HR>
En Informatique, rien n'est impossible. mais, ce n'est pas toujours évident.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 août 2005 à 11:57
compte les occurences de tous les caractères d'une chaîne









Private Sub Command1_Click()

Dim s As String

Dim c As Integer

Dim i As Integer

Dim n() As Integer



ReDim n(255)

s = "abababa"

For i = 1 To Len(s)

c = Asc(Mid$(s, i, 1))

n(c) = n(c) + 1

Next

For i = 0 To 255

If n(i) > 0 Then MsgBox Chr$(i) & " --> " & n(i)

Next

End Sub


Daniel
0
cs_mimimati Messages postés 19 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 29 août 2005
8 août 2005 à 12:10
la solution 1 de soldier marche niekl !!! ca cartonne
merci bcp
0
Rejoignez-nous