Couleur chaîne de caractère

Salut tout le monde !

J'aimerais savoir si c'est possible de mettre en couleur une partie d'une chaîne de caractère ?

Par exemple, dans mon fichier joint, j'aimerais mettre mon "32" en couleur rouge et gras. Est-ce que c'est possible ?

Si oui, j’essayerais d'aller plus loin en mettant tous les nombres en couleurs dans mon fichier de travail (c'est à dire 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9)

Merci

9exemple.xlsx (8.62 Ko)

Bonjour,

As-tu essayé ....??

Ci-joint ton fichier ...

Bonsoir James

Trop fort

Qu'as-tu fait ?? Je ne vois pas

Super

Re

Je crois que James a voulu s'amuser

Il sélectionne les chiffres et change la couleur

Bonne blague

Peux-tu nous montrer à peu près à quoi ressemblera ton fichier de travail ??

merci

Re,

Comme le dit Patty ... à la main ... c'est un jeu d'enfant ...

Il faudrait savoir si une macro doit balayer tes cellules ... ou bien si cela doit systématiquement se faire quand tu saisis un chiffre dans un texte ...

Autant pour moi je me suis trompé, c'est dans ce cas là que cela ne fonctionne plus (voir nouveau fichier joint)

Merci d'avance

11exemple.xlsx (9.39 Ko)

bonsoir,

bonsoir le forum,

un exemple via une macro

Sub digicolor(r As Range)
'colorie en rouge les chiffres trouvés dans la cellule r
    If r.Count > 1 Then Exit Sub
    For i = 1 To Len(r)
        If Mid(r, i, 1) Like "#" Then
            If fc = 0 Then
                fc = i
            End If
            lc = lc + 1
        End If
        If Not Mid(r, i, 1) Like "#" Or i = Len(r) Then
            If fc > 0 Then
                r.Characters(fc, lc).Font.Color = vbRed
                fc = 0
                lc = 0
            End If
        End If
    Next i
End Sub

Sub aargh()
'exemple d'appel de la procédure digicolor pour la plage "A1:A10" de la feuille active
Dim c As Range
    For Each c In Range("A1:A10")
        digicolor c
    Next
End Sub

Le code ci dessus ne semble pas fonctionner dans mon cas.

Merci

Bonsoir,

je n'ai pas vu ton message de 20:20 et ma solution n'en tient pas compte.

il n'est pas possible de mettre en couleur une partie du résultat d'une formule. si tu acceptes que la macro convertisse la formule en sa valeur résultante voici une solution :

Sub digicolor(r As Range)
'colorie en rouge les chiffres trouvés dans la cellule r   
 If r.Count > 1 Then Exit Sub
    r.Value = r.Value
    For i = 1 To Len(r)
        If Mid(r, i, 1) Like "#" Then
            If fc = 0 Then
                fc = i
            End If
            lc = lc + 1
        End If
        If Not Mid(r, i, 1) Like "#" Or i = Len(r) Then
            If fc > 0 Then
                r.Characters(fc, lc).Font.Color = vbRed
                fc = 0
                lc = 0
            End If
        End If
    Next i
End Sub

Sub aargh()
'exemple d'appel de la procédure digicolor pour la plage "A1:A10" de la feuille active
Dim c As Range
    For Each c In Range("A1:A10")
        digicolor c
    Next
End Sub

Merci à toi.

Bonne journée

Rechercher des sujets similaires à "couleur chaine caractere"