Comment changer la couleur de certains mots automatiquement?
1 réponse
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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