Recherche de mots dans un textbox ou richtextbox en vb

Signaler
Messages postés
1
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
27 avril 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
slt tt le monde,je suis debutant en VB et j'ai deja un gros probleme;voila:j'essaie de rechercher un mot dans un textbox(ou richtextbox),la recherche consiste à mettre en surbrillance toutes les occurences de ce mot.J'ai essayé de le faire tt seul mais j'ai pas de bons resultats;quand je clique sur le bouton 'rechercher' c'est seulement une seule occurence du mot qui est trouvée,bon je sais que c pas de l'eau à boire mais je sais qu'il y a dans ce monde une ame genereuse,please c pour la bonne cause

3 réponses

Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007

Donne nous deja ton code, on verra aprés

++
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Salut,

Textbox ou richtextbox???

Je rejoint malhivertman1 pour avoir le code.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,
nous donner le langage ne serait pas un luxe...

trouver la position d'un mot... INSTR qui retourne 0 si pas trouvé, position de la première lettre si trouvé.
donc logiquement, tant que le retour <>0, alors tu as un mot. donc BOUCLE.

[VB6]

' un txtbox, un bouton
Option Explicit 
'
'
Private Sub Form_Load() 
    Text1.Width =  4935 
    Text1.Text = "je le suis un le texte qui contient le mot  'le' plusieurs le fois (6 le)."
End Sub 
'
'
Private Sub Command1_Click() 
    Dim aPos() As Long, lPos As Long 
    ReDim aPos(0)  'ce tableau va stoquer les positions

    lPos =  InStr (1, Text1.Text, "le") 
    While lPos <> 0 
        ReDim Preserve aPos(UBound(aPos) + 1) 
        aPos(UBound(aPos))  = lPos 
        lPos =   InStr (lPos + 1, Text1.Text, "le") 
    Wend 

'   affichage
    If UBound(aPos) > 0 Then 
        Dim i As Long, sMess As String 
        sMess  = "'le' trouvé " & UBound(aPos) & " fois :" 
        For i =  1 To  UBound (aPos) 
            sMess  = sMess & vbCrLf & CStr(aPos(i)) 
        Next i 
    Else 
        sMess = "'le' non-trouvé" 
    End If 

    MsgBox sMess 
End Sub

<small> Coloration
syntaxique automatique [AFCK]</small>
       

PCPT  [AFCK]