Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Fonction TEXTE et couleurs

Gégé-45550

XLDnaute Accro
Bonjour amis Excel'lents,
Plusieurs fois déjà je vous ai interrogés pensant que la réponse à ma question serait "impossible" et chaque fois vous m'avez ébahi en trouvant une solution.
Mais cette fois, je pense que c'est vraiment impossible.
Je m'explique :
Si j'écris dans une cellule 'Nous sommes le : vendredi 9 décembre 2022', je n'ai aucun mal à mettre la date en gras et rouge, par exemple, ce qui permet d'obtenir :
'Nous sommes le : vendredi 9 décembre 2022'
Mais si j'écris dans une cellule la formule : '="Nous sommes le : " & TEXTE(AUJOURDHUI();"[Rouge][$-x-sysdate] jjjj, mmmm jj,aaaa")', l'insertion du format [Rouge] dans la formule ne sert à rien, la cellule reste désespérément monocolore.
On est d'accord ? Rendre bicolore la cellule contenant ce type de formule est impossible ?
Bonne soirée et merci d'avance.
 

patricktoulon

XLDnaute Barbatruc
re
exemple pour une couleur automatique
la couleur automatique en fonction du trimestre
donc pilotage automatique de la couleur(pas d'argument couleur dans la formule )
ici c1 étant A2 et c2 étant A1

VB:
Function MergeText(c1 As Range, c2 As Range)
    With Application.ThisCell
        MergeText = c1.Text & c2.Text
        Select Case Month(c2.Value)
            Case 1, 2, 3
                .Font.Color = vbRed
            Case 4, 5, 6
                .Font.Color = vbGreen
            Case 7, 8, 9
                .Font.Color = vbBlue
            Case 10, 11, 12
                .Font.Color = vbMagenta
        End Select
    End With
End Function
 

Gégé-45550

XLDnaute Accro
bonjour @patricktoulon je ne sais pas s'il a tords ou raison, j'ai pas compris quoi qu'il a dit
Je pensais, naïvement, qu'on pouvait par macro modifier le résultat d'une cellule contenant une formule (par exemple, le résultat de la formule "Nous sommes le :" & AUJOURDHUI() inscrite en A1), en l'affectant à une variable et en le modifiant avec .Characters ... mais, évidemment, ça marche pô !
 

TooFatBoy

XLDnaute Barbatruc
Oui, on a tous un jour tenté ça, mais hélas...
 

patricktoulon

XLDnaute Barbatruc
ben non bien sur
exemple 2
fonction couleur piloté par formule
les couleur de 1 a 56
VB:
Function MergeText(c1 As Range, c2 As Range, Optional couleur As Long = 0)
    With Application.ThisCell
        MergeText = c1.Text & c2.Text
                        .Font.Color = ThisWorkbook.Colors(couleur)
    End With
End Function
la formule
=MergeText(A2;A1;8)
'la huitième couleur de la palette excel du classeur
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…