Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment changer la couleur de certains mots automatiquement?

1 réponse
Avatar
Lucie Turgeon
Je veux mettre en rouge une chaîne de caractères, toujours la même, qui se
retrouve dans plusieurs cellules. J'ai tenté de le faire en utilisant la
fonction recherche-remplace, mais tout le texte de la cellule change de
couleur, pas seulement la chaîne de caractère voulue. Merci de votre aide

1 réponse

Avatar
anonymousA
bonjour,

dans l'exemple suivant, on recherche la chaine "toto" seulement dans les
constantes, c.à.d qu'on évite les formules où pourrait apparaitre cette
chaine de caractères.
Ici, on colorie en rouge la chaine trouvée.

With Cells
Set c = .Find(What:="toto", LookIn:=xlConstants)
If Not c Is Nothing Then
firstaddress = c.Address
starttext = Application.WorksheetFunction.Find("toto", c.Value, 1)
c.Characters(Start:=starttext, Length:=4).Font.ColorIndex = 3
Set c = .FindNext(c)
Do While c.Address <> firstaddress And Not c Is Nothing
starttext = Application.WorksheetFunction.Find("toto",
c.Value, 1)
c.Characters(Start:=starttext, Length:=4).Font.ColorIndex = 3
Set c = .FindNext(c)
Loop
End If
End With

Attention , trouvera toutes les chaines "toto" y compris celles
contenues dans un mot complet à savoir p.e "artotobr" verra la chaine
toto coloriée. Cet exemple ne traite cependant pas le cas ou 2 chaines
identiques sont dans la même chaine textuelle à savoir "toto est toto"
ne verra que le 1er toto colorié. s'il est néecessaire de tester ce cas
là, je t'envoie un correctif.

A+

Je veux mettre en rouge une chaîne de caractères, toujours la même, qui se
retrouve dans plusieurs cellules. J'ai tenté de le faire en utilisant la
fonction recherche-remplace, mais tout le texte de la cellule change de
couleur, pas seulement la chaîne de caractère voulue. Merci de votre aide