Concatener en couleur

ORBAN

XLDnaute Occasionnel
Bonjour à tous,
Savez vous s'il est possible de concatener en couleur ,
Je m'explique:
Dans une cellule de "reception" j'ai concaténer le contenue d'un groupe de céllules!
pour que la lecture soit plus facile j'avais pensé attribuer une couleur a chque mot de chaque cellule pour qu'au final le résultat du "concaténage" (a vérifiier dans le dico!!):eek: soit une suite de mots de couleurs différentes.
A votre avis, je rêve ou c'est possible ?:(
merci d'avance
 

porcinet82

XLDnaute Barbatruc
Re : Concatener en couleur

Salut Orban,

Comme un exemple vaut mieux qu'un long discours, un petit exemple de ce que tu peux faire, a adapter a tes données, mais c'est un debut.

@+
 

Pièces jointes

  • Orban.xls
    31.5 KB · Affichages: 1 235
  • Orban.xls
    31.5 KB · Affichages: 1 169
  • Orban.xls
    31.5 KB · Affichages: 1 215

ORBAN

XLDnaute Occasionnel
Re : Concatener en couleur

Bonjour romain, cela faisait longtemps,
heureux de te "revoir":)
ta forule correspond exactement à ce que je cherche MAIS!
1) j'ai vu le code, mais je na sais pas comment l'adapter à ma feuille ? (Je ne comprends pas grand chose) a quoi sert la feuille 2 ?
2) Evidemment il faudrait que la mise en couleur se fasse au moment de la concaténisation dans la cellule de "reception"
et enfin
3) actuellement mes colonnes portent des chiffres (1,2,3,....) type LxCy alors auparavent j'avais des lettres type A1, puis je modifier l'affichage des colonnes, si oui cela va t il modifier mes formules en places ?
Merci de ton aide !:eek:
 

porcinet82

XLDnaute Barbatruc
Re : Concatener en couleur

re,

Tout d'abord pour modifier l'afficahge de tes en-tetes de colonne, tu fais Outils/Options/Général et dans Paramètres Tu décoche Style de référence L1C1, je pense que ca ne devrait pas affecter tes formules.

Pour le fichier que je t'ai proposé, la feuil2 ne sert a rien, c'est que je me suis servi du fichier pour tester un autre code, et j'ai oublier d'effacer les données.

Pour ce qui est du code, il n'est pas tres compliqué, si tu te sens de pouvoir l'adapter, je te fournis quelques explications, sinon mets moi un exemple de ton fichier (avec tes données de départ et le résultat souhaité) et j'essaierai d'adapter directement.

@+
 

ORBAN

XLDnaute Occasionnel
Re : Concatener en couleur

Re,
C'est Ok pour les en-tête de colonnes, les formules suivent et s'adaptent automatiquement.
Pour le reste, voici une feuille avec des explications!
Merci pout ton aide.:eek:
 

Pièces jointes

  • Test concatener couleur.zip
    11.4 KB · Affichages: 423

porcinet82

XLDnaute Barbatruc
Re : Concatener en couleur

Je viens de te faire une petite macro que je te laisse le soin de tester et de me dire si cela te convient ou non. Code a placer dans le module de la feuille concernée :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k&, j&, cel$
If Not Intersect(Target, Range("B7:K" & Range("A65536").End(xlUp).Row)) Is Nothing Then
    For j = 12 To 24
        cel = cel & Cells(Target.Row, j).Value
    Next j
    With Cells(Target.Row, 1)
        .Font.ColorIndex = 1
        .Value = cel
    End With
End If
j = 1
For k = 12 To 14
    If Not Cells(Target.Row, k).Value = "" Then Cells(Target.Row, 1).Characters(Start:=j, Length:=3).Font.ColorIndex = 10 + k
    j = j + 3
Next k
j = 1
For k = 15 To 24
    If Not Cells(Target.Row, k).Value = "" Then Cells(Target.Row, 1).Characters(Start:=j, Length:=4).Font.ColorIndex = 25 + k
    j = j + 4
Next k
End Sub

@+
 

ORBAN

XLDnaute Occasionnel
Re : Concatener en couleur

Parfait !! Mr PORCINT vous étes un génie
on le savait et je confirme. :p
J'ai monté la formule et cela correspond bien au projet.
ceci dit je ne comprends pas comment tu as fait ?
A quoi correspond j, K,etc...?:mad:
Penses tu qu'il soit possible de ne faire "colorier" que la 1 ere lettre de chaque mot concaténé ?:rolleyes:
car lorsque je remplis, tous les champs, ma cellule concaténé devient un arc en ciel, trés jolie certe, trés beau, mais difficile à lire!
Qu'en penses tu ?
 

porcinet82

XLDnaute Barbatruc
Re : Concatener en couleur

re,

Pas de mal pour l'ecorchure, la peau d'âne est assez dur :p
Je t'ai modifier la macro pour qu'elle ne te colore que la première lettre de chaque mots :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k&, j&,x%, cel$
 
If Not Intersect(Target, Range("B7:K" & Range("A65536").End(xlUp).Row)) Is Nothing Then
    For j = 12 To 24
        cel = cel & Cells(Target.Row, j).Value
    Next j
    With Cells(Target.Row, 1)
        .Font.ColorIndex = 1
        .Value = cel
    End With
End If
j = 1
For k = 12 To 14
    If Not Cells(Target.Row, k).Value = "" Then
        Cells(Target.Row, 1).Characters(Start:=j, Length:=1).Font.ColorIndex = 10 + k
        x = x + 3
    End If
    j = j + 3
Next k
j = 1
For k = 15 To 22
    If Not Cells(Target.Row, k).Value = "" Then
        Cells(Target.Row, 1).Characters(Start:=j + x, Length:=1).Font.ColorIndex = 25 + k
        j = j + 4
    End If
Next k
If Not Cells(Target.Row, 24).Value = "" Then Cells(Target.Row, 1).Characters(Start:=InStr(1, Cells(Target.Row, 1), "/") - 2, Length:=1).Font.ColorIndex = 45
End Sub

Concernant j, k ou encore x (que je viens de rajouter), ce sont des variables qui me servent a boucler sur les colonnes ou a déterminer la couleur des caractères.
D'ailleur pour changer la couleur, modifie ce qu'il y a en rouge dans les lignes de code suivante (sachant que la couleur change car le k est incrémenté par la boucle, donc si tu veux la meme couleur pour chaque caractères, il te suffit de mettre une valeur fixe) :
Cells(Target.Row, 1).Characters(Start:=j, Length:=1).Font.ColorIndex = 10 + k
Cells(Target.Row, 1).Characters(Start:=j + x, Length:=1).Font.ColorIndex = 25 + k
et
If Not Cells(Target.Row, 24).Value = "" Then Cells(Target.Row, 1).Characters(Start:=InStr(1, Cells(Target.Row, 1), "/") - 2, Length:=1).Font.ColorIndex = 45

@+
 

ORBAN

XLDnaute Occasionnel
Re : Concatener en couleur

Merci ROMAIN, t'est GENIAL.
C'est Parfait !!!
A quoi correspondent les chiffres 10 - 25 -et 45, des couleurs ?
Je ne n'ose pas trop "bricoler" ta formule ou potion magique, de peur de...:eek:
Encore un grand merci.
N'hésites pas a venir me faire coucou en passant à Dakar.:p
 

ORBAN

XLDnaute Occasionnel
Re : Concatener en couleur Bug

Bonjour à tous, Bonjour à PORCINET !
Suite à ta macro (Celle du génial PORCINET), j'ai un probléme de Bug, en effet, quant je veux installer ou modifier un menu déroulant, la macro plante ????:confused:
Je joins une feuille exemple et en onglet le code et la ligne qui s'affiche.
Je n'ai pas modifier le code, il est tel que Porcinet me l'as envoyé!
PS: Tous fonctionnais trés bien Vendredi, mais je dois modifier le tableau réguliérement
 

Pièces jointes

  • Bug contatener couleur.zip
    18.8 KB · Affichages: 128

porcinet82

XLDnaute Barbatruc
Re : Concatener en couleur

Salut Orban,

Le problème vient simplement du faite que le nombre de caractère dans tes formules a changé. Il te suffit donc d'agir au niveau des boucles. Ainsi, le code suivant fait ce que tu souhaites :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim k&, j&, x%, cel$
 
If Not Intersect(Target, Range("B7:K" & Range("A65536").End(xlUp).Row)) Is Nothing Then
    For j = 12 To 23
        cel = cel & Cells(Target.Row, j).Value
    Next j
    With Cells(Target.Row, 1)
        .Font.ColorIndex = 1
        .Font.Bold = False
        .Value = cel
    End With
End If
j = 1
For k = 12 To 21
    If Not Cells(Target.Row, k).Value = "" Then
        With Cells(Target.Row, 1).Characters(Start:=j, Length:=1).Font
            .Color = vbRed
            .Bold = True
        End With
        x = x + 3
    End If
    j = j + 3
Next k
If Not Cells(Target.Row, 22).Value = "" Then
    With Cells(Target.Row, 1).Characters(Start:=InStr(1, Cells(Target.Row, 1), "/") - 3, Length:=1).Font
        .Color = vbRed
        .Bold = True
    End With
End If
End Sub

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 328
Membres
103 517
dernier inscrit
hbenaoun63