Un bouton rechercher

Résolu
kanabinch Messages postés 69 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 27 juin 2009 - 7 mars 2006 à 17:00
kanabinch Messages postés 69 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 27 juin 2009 - 8 mars 2006 à 17:41
Cette fois-ci j'ai une listebox où précédemment j'ai pu enregistrer des mots dans celle-ci. (qui ont été vérifié grâce à la table ascii...)
En fait mon soucis, içi, c'est que je souhaiterai après avoir sélectionner un mot ds la liste cliquer sur le bouton rechercher et afficher "trouvé au n ième caractères" (n étant la position dans le texte). Ce message doit apparaître autant de fois que le mot est dans le texte (une textbox)
En fin de traitement, il doit safficher "le mot a été trouvé x fois dans le texte" Pour ça je pense savoir le faire.
enfin si le texte n'a pas été sélectionné, il faudrait renvoyer un message genre " veuillez sélestionner un mot"
je sais que je dois utiliser :
- nomdelaliste.ListIndex (renvoie une valeur négative lorsqu'il n'y a pas de sélection)
- nomdelaliste.Text (retourne le texte sélectionné d'une liste)

voilà merci de votre aide

5 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
7 mars 2006 à 22:41
Salut,

Si j'ai bien compris, voici un bout de code qui peut t'aider avec un commandbutton nommé Command1, une listbox nommée List1 et une textbox nommée Text1 :

Private Sub Command1_Click()

Dim p As Integer
Dim i As Integer
Dim cpt As Integer

If List1.ListIndex < 0 Then 'test si sélection dans la listbox
MsgBox "Veuillez sélestionner un mot"
Else
'afficher les positions
For i = 1 To Len(Text1.Text)
p = InStr(i, Text1.Text, List1.Text)
If p = 0 Then Exit For
If p = 1 Then
MsgBox "Trouvé au " & p & "er caractère"
Else
MsgBox "Trouvé au " & p & "ème caractère"
End If
cpt = cpt + 1
i = p
Next

'afficher le nombre d'occurences
MsgBox "Le mot a été trouvé " & cpt & " fois dans le texte"

End If

End Sub

Un truc en plus, si tu veux seulement connaître le nombre de fois que ton mot apparait dans le texte ce code suffit :

MsgBox "Le mot a été trouvé " & (Len(Text1.Text) - Len(Replace(Text1.Text, List1.Text, ""))) / Len(List1.Text) & " fois dans le texte"
3
Rejoignez-nous