Compter l'occurence de chaque mots

Yahan Messages postés 37 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 27 octobre 2002 - 23 oct. 2002 à 14:25
Yahan Messages postés 37 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 27 octobre 2002 - 23 oct. 2002 à 17:28
Salut à tous.

j'ai épluché quelques sources mais je n'y arrive pas

le but "je vais bien, je suis content, je suis fatigué"

trouvé un résultat qui donne
je = 3
Vais = 1
bien = 1
suis = 2
content = 1
fatiqué = 1

un peu d'indulgence et d'aide sivouplait, je n'ai pas msdn et juste une aide incomplete de vb5

d'avance merci de votre aide.

Yann

4 réponses

slr Messages postés 75 Date d'inscription mercredi 23 octobre 2002 Statut Membre Dernière intervention 13 juillet 2004
23 oct. 2002 à 14:40
bon, il faut utiliser la fonction Instr :
x=instr(PosDeb,Chaine,Mot) renvoie un entier qui indique la position de la 1ere occurence du mot.

trame de pgm

occ=0
i=1
while instr(i,chaine,mot)>0 and i<len(chaine)
i=instr(i,chaine,mot)+1
occ=occ+1
wend

fais attention, si ton mot fait partie d'un autre mot
ex: con et content con sera compté 2 fois, à ce moment, encapsule avec des espaces " con "

slr
0
Yahan Messages postés 37 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 27 octobre 2002
23 oct. 2002 à 17:15
merci, ça a un peut avancer mais la ........

donc :

Dim x
Dim i
Dim occ
Dim chaine
Dim mot() As String

chaine = "nous on est nous nous nous sommes nous"
mot = Split(chaine, " ")' si je mets "nous" ça marche
For z = 1 To mot ?? la je bloque
x = InStr(1, chaine, mot) 'renvoie un entier qui indique la position de la 1ere occurence du mot.

'trame de pgm

occ = 0
i = 1
While InStr(i, chaine, mot) > 0 And i < Len(chaine)
i = InStr(i, chaine, mot) + 1
occ = occ + 1
Wend
Debug.Print occ

next z

halalala c pas simple merci encore

Yann
0
Yahan Messages postés 37 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 27 octobre 2002
23 oct. 2002 à 17:27
c bon ça vient

Dim x
Dim i
Dim occ
Dim chaine
Dim mot() As String
chaine = "nous on est nous nous nous sommes nous"
mot = Split(chaine, " ")
For z = 1 To UBound(mot)
x = InStr(1, chaine, mot(z))
occ = 0
i = 1
While InStr(i, chaine, mot(z)) > 0 And i < Len(chaine)
i = InStr(i, chaine, mot(z)) + 1
occ = occ + 1
Wend
Debug.Print mot(z) & " " & occ
Next z

a kelke détail près.

bon ce site il est hyper bien mais chez moi il plante tout le temps :(
0
Yahan Messages postés 37 Date d'inscription jeudi 17 octobre 2002 Statut Membre Dernière intervention 27 octobre 2002
23 oct. 2002 à 17:28
c bon ça vient

Dim x
Dim i
Dim occ
Dim chaine
Dim mot() As String
chaine = "nous on est nous nous nous sommes nous"
mot = Split(chaine, " ")
For z = 1 To UBound(mot)
x = InStr(1, chaine, mot(z))
occ = 0
i = 1
While InStr(i, chaine, mot(z)) > 0 And i < Len(chaine)
i = InStr(i, chaine, mot(z)) + 1
occ = occ + 1
Wend
Debug.Print mot(z) & " " & occ
Next z

a kelke détail près.

bon ce site il est hyper bien mais chez moi il plante tout le temps :(
0
Rejoignez-nous