Nombre d'occurences d'un mot dans une phrase

Nombre d'occurences d'un mot dans une phrase - VB/VBA/VBS - Programmation

Marsh Posté le 07-05-2007 à 14:08:21    

Bonjour;
Je cherche à créer un petit programme sous vb6 pour calculer le nombre d'occurences d'un mot dans une phrase.
Lorsque je tente d'exécuter mon programme, j'ai le message suivant:
"Erreur de compilation, qualificateur incorrect."
L'objet phrase dans la boucle for est alors pointé par le débogeur (phrase.length).
Pouvez-vous m'aider à déterminer la source d'erreur? Merci d'avance.
 
Voici le code:

Code :
  1. Private Sub cmdRechercher_Click()
  2. Dim motrecherche As String
  3. Dim phraseorigine As String
  4. Dim phrase() As String
  5. Dim nbrmotrecherche As Integer
  6. Dim i As Integer
  7. motrecherche = txtRecherche.Text
  8. phraseorigine = lblTexte.Caption
  9. phrase() = Split(phraseorigine)
  10. nbrmotrecherche = 0
  11. If motrecherche <> "" Then
  12.   For i = 0 To phrase.length - 1
  13.       If phrase(i) = motrecherche Then
  14.           nbrmotrecherche = nbrmotrecherche + 1
  15.       End If
  16.   Next i
  17.   txtOccurence = CStr(nbrmotrecherche)
  18. Else
  19.     MsgBox "La chaîne ne peut être vide.", vbInformation, "Comptage des mots."
  20.  
  21. End If
  22. End Sub

Reply

Marsh Posté le 07-05-2007 à 14:08:21   

Reply

Marsh Posté le 07-05-2007 à 17:29:01    

ca marche mieux comme ca ?
 
Private Sub cmdRechercher_Click()
Dim motrecherche As String
Dim phraseorigine As String
Dim phrase(150, 1) As String
Dim nbrmotrecherche As Integer
Dim i As Integer
motrecherche = txtRecherche.Text
phraseorigine = lblTexte.Caption
phrase(i, 1) = Split(phraseorigine)
nbrmotrecherche = 0
If motrecherche <> "" Then
For i = 0 To Len(phrase(i, 1)) - 1
If phrase(i, 1) = motrecherche Then
nbrmotrecherche = nbrmotrecherche + 1
End If
Next i
txtOccurence = CStr(nbrmotrecherche)
Else
MsgBox "La chaîne ne peut être vide.", vbInformation, "Comptage des mots."
End If
End Sub


Message édité par ingenieurcesi le 07-05-2007 à 17:32:32
Reply

Marsh Posté le 08-05-2007 à 07:16:56    

Bonjour,
 
Il faut remplacer  
     For i = 0 To Len(phrase(i, 1)) - 1
par
     For i = 0 to ubound(Phrase) -1
 
 car phrase est un tableau.
 
Bon courage

Reply

Marsh Posté le 08-05-2007 à 10:39:04    

faudrait peut etre "initialiser" le tableau au début du code !
est-ce que quelqu'un connait l'instruction ? y'a ReDim qui m'a l'air bien mais j'en suis pas sur

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed