Changer la couleur d'un mot en particulier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 053 fois - Téléchargée 65 fois

Contenu du snippet

dans un module:

Source / Exemple :


Private Function HLW(rtb As RichTextBox, sFindString As String, Lcolor As Long)
Dim LfoundPos As Long
Dim LfindLenght
Dim LorigSelStart
Dim LorigSelLenght
Dim ImatchCount As Integer
LorigSelStart = rtb.SelStart
LorigSelLenght = rtb.SelLength
LfindLenght = Len(sFindString)
LfoundPos = rtb.Find(sFindString, 0, , rtfNoHighlight)
While LfoundPos > 0
ImatchCount = ImatchCount + 1
rtb.SelStart = LfoundPos
rtb.SelLength = LfindLenght
rtb.SelColor = Lcolor
LfoundPos = rtb.Find(sFindString, LfoundPos + LfindLenght, , rtfNoHighlight)
Wend
rtb.SelStart = LorigSelStart
rtb.SelLength = LorigSelLenght
HLW = ImatchCount
End Function

A voir également

Ajouter un commentaire

Commentaires

maintenant essaye de trouver la meme chose sans le selsatart...
désolé je suis un newbie merdeu et j'aimerais k'on m'explike komment on fait pour les couleurs...fo creer un module avec ce code?
VB6Boss
Messages postés
71
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
15 juin 2002
-
To incrust:
Ouais. mais je te conseille de remplacer Private par Public sion t'auras du mal a l'utiliser
********************************************************************
cs_pyth
Messages postés
6
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
18 juin 2003
-
J'ai une erreur de compilation à la ligne :
Private Function HLW(rtb As RichTextBox, sFindString As String, Lcolor
ça me dit que j'ai un type non défini par l'utilisateur.
Qqn peut m'aider ?
jrivet
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
43 -
Salut,
Je sais que cela fait longtemps que ce code est là...

Une petite amélioration possible serait de typer les variables et non pas seulement 2

Dim LfoundPos As Long
Dim LfindLenght As Long
Dim LorigSelStart As Long
Dim LorigSelLenght As Long
Dim ImatchCount As Integer

De plus si tu sais ce que retourne la fonction, type le aussi plutot que de mettre du Variant.

Private Function HLW(rtb As RichTextBox, sFindString As String, Lcolor As Long) As Integer

Voila.
Sinon à part cela, il semble que ce soit ce que je cherchais.
Alors Merci.
Commenter la réponse de mémère

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.