Colorier une partie des caractères dans une cellule

Bonjour,

Pour mon premier post, jevous pose la question suivante:

Comment colorier, dans une cellule, une partie du texte en rouge, une autre partie en bleu et le reste en noir.

EX du texte : 0000 (E) - 0354 (S) - 7838(S) - 2123 (E) - 5665 (E)

Ex du texte autre cellule: nomus (E) - AUTO (E) - TTtezeee7d (S)

IF activecells <>"" then
'coloriage du texte
end  if

Si vous avez des idées... j'ai essayé different trucmais je n'arrive pas à la faire.

Encore quelques infos : le nombre de données varie dans chaques cellules, ainsi que la longueur des champs.

Merci d'avance pour le coup de main.

Kikoo

Voici un code trouvé à l'aide de l'enregistreur de macro.

Sub Macro2()

    Range("A1").Select
    With ActiveCell.Characters(Start:=1, Length:=3).Font
        .Color = -1003520
        .TintAndShade = 0
    End With
    With ActiveCell.Characters(Start:=9, Length:=3).Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    Range("A2").Select
End Sub

Est-ce un début de piste ?

149kikoo.zip (10.48 Ko)

Bonsoir,

Salut Yvouille,

Je ne suis pas sur mais je crains que ton code ne passe pas sur 2003 ?

La macro suivante colorie le texte de la cellule active

à partr du 4ème caractère et sur une longueur totale de 4 catactères

Sub Macro1()
ActiveCell.Characters(Start:=4, Length:=7).Font.ColorIndex = 3
End Sub

cette autre macro fait exactement la même chose :

Sub Macro2()
ActiveCell.Characters(Start:=4, Length:=7).Font.Color = RGB(255, 0, 0)
End Sub

Cette autre macro colorie tout le texte en noir, puis les 3premiers caractères en rouge puis les 7 caractères suivants en vert...

Sub Macro3()
ActiveCell.Characters.Font.ColorIndex = 0
ActiveCell.Characters(1, 3).Font.Color = RGB(255, 0, 0)
ActiveCell.Characters(4, 7).Font.Color = RGB(0, 255, 0)
End Sub

A+

Bonsoir

je dormais quelle avalanche de réponse

Bonsoir Yvouille et Galopin01

Un essai

Bonsoir tout le monde,

Le code est pas mal pour un début, je le paufine un peu mais je rencontre un autre problème. Comme je dois colorier tous les champs qui contienne un (E) en bleu (avec les caractèrws qui le précede) et ceux qui contiene un (S) en rouge.

Voici un premier jet mais ce que je n'arrive pas à faire, c'est de passer plus loins dans lea cellule.

Option Explicit
Option Base 1
Dim i As Integer
Dim tbl(10, 2) As String
Dim MaC As String
Dim av As Integer, ap As Integer, Couleur As Integer
Dim nbr As Integer
Sub Coloriage()
Cells(1, 4) = ""
MaC = ""
Cells(1, 4).Font.ColorIndex = 0
i = 1
Do While (Cells(i, 1) <> "")
    tbl(i, 1) = Cells(i, 1)
    tbl(i, 2) = Cells(i, 2)
    i = i + 1
Loop
i = 1
Do While (tbl(i, 1) <> "")
    av = Len(Cells(1, 4))
    If av = 0 Then av = 1
    If MaC <> "" Then
        MaC = MaC & " - " & tbl(i, 1) & " (" & tbl(i, 2) & ")"
        Cells(1, 4) = MaC
    Else
        MaC = tbl(i, 1) & " (" & tbl(i, 2) & ")"
        Cells(1, 4) = MaC
    End If
    If tbl(i, 2) = "S" Then
        Couleur = 3
        nbr = InStr(av, Cells(1, 4), "(S)") - 2
    ElseIf tbl(i, 2) = "E" Then
        Couleur = 5
        nbr = InStr(av, Cells(1, 4), "(E)") - 2
    End If
    i = i + 1
Loop
End Sub

Là j'essaye de passer par un tableau mais des que je met la couleur du deuxième "champs", tout se colorie dans la meme teinte.

Merci déjà pour les premières réponses..

Kikoois achef.......ou presque...

Bonjour,

Ton explication est pas mal non plus pour un début, mais... une bonne image vaut mieux qu'un long discours.

Tu nous aurais mis un tout petit bout de classeur avec quelques cellules pour montrer les résultats que tu veux obtenir ; on y aurait surement compris quelque chose parce que là ça ne me donne pas envie de me pencher sur la question :

Déchiffrer un code qui ne marche pas quand on n'a pas compris la question, ça revient à lire dans une boule de cristal plongée dans le marc de café...

A+

bonjour kikooisochef le forum

erreur j'avais pas lu deux réponses avant!!

a+

Papou

Bonsoir à tous,

Tout d'abord, désolé pour le temps de réponse (vacances oblige 8) )

Bonne nouvelles... à force de perceverance et grace à votre aide, j'ai enfin réussi à pondre le code que je cherchais. Comme il se doit dans un forum, je partage mon code (on sait jamais, si ça peut servir).

En deux mot voilà ce que j'ai fait :

j'ai mis toutes mes données (les données visibles et les coordonées) dans un tableau a deux dimensions et j'ai inscrit les parties importantes dans ma cellules. Grâce aux diverses coordonées préalablement récupérées, j'ai pu colorier selon mes besoins.

A vous d'adapter selon votre besoin le code..... bonne chance.

PS: merci pour les commentaires sur mon code, cela me permetra de faire encore mieux la prochaine fois.

Rechercher des sujets similaires à "colorier partie caracteres"