Changer la mise en forme de caractère au milieu d'une chaîne

Bonjour à tous,

Je me permets de solliciter votre aide car je bloc sur une adaptation de code.

J'ai besoin de modifier dans une cellule la couleur de quelque caractère en fonction de "valeur"

exemple : J Bc M (Le J en jaune, le Bc en blanc, le M en Marron...)

J'ai trouvé un code qui fait une action équivalente mais je n'arrive pas a le faire marcher dans mon cas.

Veuillez trouver ci-joint le fichier - (dans le module6)

10rilsan.xlsm (109.88 Ko)

Merci de votre aide

Bonjour,

il n'est à ma connaissance pas possible de faire une mise en forme individuelle des caractères d'une cellule qui contient un texte qui est le résultat d'une formule. il faut transformer la formule en son résultat.

Option Explicit

Dim ln, j, p, lgr

Sub Colorer()

    Dim b As Variant
    Dim texte As String, i

    For ln = 3 To Range("N" & Rows.Count).End(xlUp).Row
        texte = ""
        For i = 1 To 4
            If Cells(ln, 13 + i) <> "" Then texte = texte & " " & Cells(ln, 13 + i)
        Next i
        Range("m" & ln) = texte

        '****************** pour bague 1 ******************

        p = InStr(Range("m" & ln), "Or") 'orange
        If p > 0 Then
            With Range("m" & ln).Characters(p, 2).Font
                .Color = RGB(0, 255, 255)
                .FontStyle = "bold"
            End With
        End If

        p = InStr(Range("m" & ln), "M")
        If p > 0 Then
            With Range("m" & ln).Characters(p, 1).Font
                .Color = RGB(255, 0, 0)
                .FontStyle = "Bold"
            End With
        End If

        'else if pour J(jaune) Bc(blac) Bu(bleu) R(rouge)

        '****************** pour bague 2 ******************

        '****************** pour bague 3 ******************
        '****************** pour bague 4 ******************

    Next ln
End Sub

Bonjour,

Merci bcp pour ton retour H2So4.

Ah! oui j'avais pas pris en compte le fait que c’était une formule de cellules concaténées.

Malheureusement, pour les utilisations du fichier après transfo par macro, j'ai tjs besoin des formules.

Tans pis pour moi je vais faire plus simple, au lieu de mettre en forme ma cellule concaténée et de suppr mes 4 colonnes, je vais faire la mise en forme sur les 4

ça fera plein de colonne en plus mais tant pis.

Encore merci pour ton retour

Bonjour,

il est toujours possible de lancer cette macro automatiquement dès qu'il y a un changement de certaines cellules (via une procédure événementielle).

Rechercher des sujets similaires à "changer mise forme caractere milieu chaine"