cs_Fripouil
Messages postés175Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 8 mai 2017
-
10 févr. 2007 à 19:01
Utilisateur anonyme -
11 févr. 2007 à 14:07
Bonjour,
J' aurais aimer savoir comment rechercher un texte, des mots, dans un RichTextBox par l' intermédiaire d' une zone de saisie genre textbox et d un bouton rechercher.
Et comment faire ressortir le texte une fois trouvé : le mettre en gras, d une autre couleur,etc
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 févr. 2007 à 19:12
Et qu'est-ce qui te pose problème ?
Récupèrer le texte du textbox de recherche ? Comment récupèrer l'événement click du bouton ? Faire la recherche dans le richtextbox ? ou mettre le texte trouvé en valeur ?
cs_Fripouil
Messages postés175Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 8 mai 2017 11 févr. 2007 à 13:32
Bonjour et merci
Ton code fonctionne mais il ne trouve qu 'un seul des mots que je cherche.
Je m' explique dans la phrase : Ton code fonctionne mais ton code ne trouve qu'un mot
Je rentre dans ma textbox le mot : code
Je valide via mon bouton valider
Et ca me donne ceci : Ton code fonctionne mais ton code ne trouve qu'un mot
Or dans cette phrase il y a 2 fois : code, mais le deuxiéme n est pas "trouvé"
Darksidious : si tu préféres j' aimerais faire la recherche dans le richtextbox et mettre le texte trouvé en valeur. Un peu comme les fichier d' aide qu on peut trouvé dans certain programme, il surligne les mot recherché.
Mon but est de faire avec ce systéme comme un fichier d aide
Généralement quand on pose une question les mots de cette question ce retrouve dans la réponse, et voila l idée :
Dans la textbox : Que faire quand on à faim ?
Dans la Richtextbox : Quand onàfaim il faut manger.
Ben dans ce cas tu continue a chercher à partire de la positon précédente.
Et tu répéte l'opération pour tous les mots du texte :
Dim Words() As String
Words = Split(TextBoxSearch.Text, " ")
Dim iWord As Integer
For iWord = 0 To UBound(Words)
Dim NextSearch As Integer
NextSearch = TaRichTextBox.Find(Words(iWord), 0)
While NextSearch > -1
TaRichTextBox.SelStart = NextSearch
TaRichTextBox.SelLength = Len(Words(iWord))
TaRichTextBox.SelBold = True
TaRichTextBox.SelColor = vbRed
NextSearch = TaRichTextBox.Find(Words(iWord), NextSearch + 1)
Wend
Next iWord,