Compter l'occurence de chaque mots

Messages postés
37
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
27 octobre 2002
-
Messages postés
37
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
27 octobre 2002
-
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

Messages postés
75
Date d'inscription
mercredi 23 octobre 2002
Statut
Membre
Dernière intervention
13 juillet 2004

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
Messages postés
37
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
27 octobre 2002

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
Messages postés
37
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
27 octobre 2002

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 :(
Messages postés
37
Date d'inscription
jeudi 17 octobre 2002
Statut
Membre
Dernière intervention
27 octobre 2002

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 :(