Colorer une chaine de texte sous excel
Résolu
florent69
-
florent69 -
florent69 -
Bonjour,
Je traite actuellement des données textuelles sous Microsoft Excel.
Je possède une vingtaine de fichiers et je doit créer un document de synthèse.
Les données sont ainsi distribuée:
X lignes représentant les thèmes
3 colonnes représentant les niveaux de réponses
Chaque thème peut avoir de 0 à trois niveaux de réponses
Pour synthétiser le tout il me faut rassembler les différentes réponses dans 1 seule colonne
J'utilise donc la fonction concatener ainsi:
=CONCATENER(Ax;"/";Bx;"/";Cx)
J'aimerai savoir si il existe une fonction qui me permettrait, pour plus de lisibilité et pour ne pas tout avoir a faire à la main, de colorer chaque chaîne d'une couleur différente genre Ax en bleu, Bx en vert, Cx en rouge
Merci pour votre aide
Je traite actuellement des données textuelles sous Microsoft Excel.
Je possède une vingtaine de fichiers et je doit créer un document de synthèse.
Les données sont ainsi distribuée:
X lignes représentant les thèmes
3 colonnes représentant les niveaux de réponses
Chaque thème peut avoir de 0 à trois niveaux de réponses
Pour synthétiser le tout il me faut rassembler les différentes réponses dans 1 seule colonne
J'utilise donc la fonction concatener ainsi:
=CONCATENER(Ax;"/";Bx;"/";Cx)
J'aimerai savoir si il existe une fonction qui me permettrait, pour plus de lisibilité et pour ne pas tout avoir a faire à la main, de colorer chaque chaîne d'une couleur différente genre Ax en bleu, Bx en vert, Cx en rouge
Merci pour votre aide
Configuration: Windows XP Firefox 3.0.13
1 réponse
-
Bonjour
ci joint maquette à adapter
https://www.cjoint.com/?iArimJbumU
et ses macros ci dessous en considérant que le nom des thèmes est en colonne 1 (A) et la mise en tricolore colonne 6 (F) en constante
Const col As Byte = 6 'colonne de restitution Sub colorier(texto1, texto2, texto3, tricolore As Range) tricolore = texto1 & "/" & texto2 & "/" & texto3 long1 = Len(texto1) long2 = Len(texto2) long3 = Len(texto3) With tricolore If long1 > 0 Then: .Characters(Start:=1, Length:=long1).Font.ColorIndex = 4 If long2 > 0 Then: .Characters(Start:=long1 + 1, Length:=long2).Font.ColorIndex = 5 .Characters(Start:=long1 + long2 + 3, Length:=long3).Font.ColorIndex = 3 End With End Sub Sub test() Dim derlig As Long, lig As Long derlig = Range("A65536").End(xlUp).Row Columns(col).Clear Application.ScreenUpdating = False For lig = 2 To derlig colorier Cells(lig, 2), Cells(lig, 3), Cells(lig, 4), Cells(lig, col) Next Application.ScreenUpdating = True End Sub