Bonjour le Forum,
J'ai trouvé un code qui fonctionne très bien, mais n'arrivant à valider une inscrption sur cet autre forum, je ne peux pas interroger la personne qui l'a communiqué
Il permet, dans une plage, de colorer ( en rouge ) un mot défini dans la seconde partie du code
Ce que je souhaiterais, c'est que le mot puisse être remplacé sans avoir à retourner dans le code, mais à partir d'une cellule de mon tableau ( en l'occurrence I8 )
Voici le code, en 2 parties
J'ai essayé de remplacer dans la seconde macro le "Test" par range("I8").Select, mais bien sûr sans résultat
Peut-être faut-il modifier aussi dans la première le ";") que j'ai colorié en rouge ?
Bref.... j'essaye mais j'ai besoin d'aide !
Merci par avance
Sub CharacterColor(AreaText, TextColoring, Optional RGBCode As Long = vbRed)
Dim Cel As Range, nbWord As Integer, tbl() As String, Start As Integer
TextColoring = LCase(TextColoring)
tbl = Split(TextColoring, ";")
For Each Cel In AreaText
For nbWord = 0 To UBound(tbl)
Start = InStr(LCase(Cel), tbl(nbWord))
Do While Start
Cel.Characters(Start, Len(tbl(nbWord))).Font.Color = RGBCode
Start = InStr(Start + 1, LCase(Cel), tbl(nbWord))
Loop
Next
Next
End Sub
Sub TestCharacterColor()
Dim rng As Range
Set rng = Range("I9:I796")
rng.Font.Color = 0
CharacterColor rng, "test"
End Sub
J'ai trouvé un code qui fonctionne très bien, mais n'arrivant à valider une inscrption sur cet autre forum, je ne peux pas interroger la personne qui l'a communiqué
Il permet, dans une plage, de colorer ( en rouge ) un mot défini dans la seconde partie du code
Ce que je souhaiterais, c'est que le mot puisse être remplacé sans avoir à retourner dans le code, mais à partir d'une cellule de mon tableau ( en l'occurrence I8 )
Voici le code, en 2 parties
J'ai essayé de remplacer dans la seconde macro le "Test" par range("I8").Select, mais bien sûr sans résultat
Peut-être faut-il modifier aussi dans la première le ";") que j'ai colorié en rouge ?
Bref.... j'essaye mais j'ai besoin d'aide !
Merci par avance
Sub CharacterColor(AreaText, TextColoring, Optional RGBCode As Long = vbRed)
Dim Cel As Range, nbWord As Integer, tbl() As String, Start As Integer
TextColoring = LCase(TextColoring)
tbl = Split(TextColoring, ";")
For Each Cel In AreaText
For nbWord = 0 To UBound(tbl)
Start = InStr(LCase(Cel), tbl(nbWord))
Do While Start
Cel.Characters(Start, Len(tbl(nbWord))).Font.Color = RGBCode
Start = InStr(Start + 1, LCase(Cel), tbl(nbWord))
Loop
Next
Next
End Sub
Sub TestCharacterColor()
Dim rng As Range
Set rng = Range("I9:I796")
rng.Font.Color = 0
CharacterColor rng, "test"
End Sub