Surligner mot d un texte

Résolu
Signaler
Messages postés
18
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 octobre 2006
-
Messages postés
18
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 octobre 2006
-
Salut amis développeurs!!
j'aurais une petite question a vous poser. J'aimerais réalise une appli qui surligne un texte mot a mot suivant un timer.Ce texte provient d un fichier texte et peut etre dans un label ou un textbox.
Mon gros problème est de pouvoir surligner un mot ou mettre en gras ou changer la couleur de la police du mot.
Si vous avez une solution ou une idée prévenez moi!!
merci.
salut

3 réponses

Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Sur une feuille, met un TextBox nommé Text1 et un Timer nommé Timer1.
Met le Timer en False

Et copie le code suivant dans la feuille

Dim sTexte() As String 'Pour stocker le texte découpé
Dim iCurrent As Integer 'Pour savoir à quel mot on en est
Dim iPosition As Integer 'Pour sauvegarder la dernière position du curseur


Private Sub Form_Load()
'On met un texte dans la TextBox
Text1.Text = "Salut amis développeurs !! j 'aurais une petite question a vous poser. J'aimerais réalise une appli qui surligne un texte mot a mot suivant un timer. Ce texte provient d un fichier texte et peut etre dans un label ou un textbox. Mon gros problème est de pouvoir surligner un mot ou mettre en gras ou changer la couleur de la police du mot. Si vous avez une solution ou une idée prévenez moi !! merci."
'On decoupe le Texte pour recuperer tout les mots
ReDim sTexte(0)
sTexte = Split(Text1.Text, " ")
'On parametre le Timer
Timer1.Interval = 300
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
iCurrent = iCurrent + 1 If iCurrent UBound(sTexte) + 1 Then Timer1.Enabled False
Call Surligner(sTexte(iCurrent - 1), Text1, iPosition)
End Sub


Public Sub Surligner(Mot As String, TexteBox As TextBox, Optional Position_Mini As Integer = 1)
Dim i As Integer If Position_Mini 0 Then Position_Mini 1
i = InStr(Mid$(TexteBox.Text, Position_Mini), Mot)
If i = 0 Then Exit Sub
TexteBox.SelStart = i - 1 + Position_Mini - 1
TexteBox.SelLength = Len(Mot)
iPosition = i - 1 + Position_Mini
End Sub


Bonne prog
++
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
Bonjour

les TextBox ou les labels ne peuvent ahir que sur tous le texte, utilise plutot un RichTextBox.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Messages postés
18
Date d'inscription
vendredi 19 novembre 2004
Statut
Membre
Dernière intervention
30 octobre 2006

Merci bouv de ta reponse qui marche très bien.
Pile ce dont j avais besoin!
a+