Concatener avec des styles différents

CP21

XLDnaute Nouveau
Bonjour à tous.
Je voudrais concatener plusieurs cellules (textes et chiffres) avec un style choisi pour chaque cellule d'origine. Par exemple: assembler du texte en police normale et une valeur numérique en gras ou en couleur. Je n'arrive pas imposer plusieurs styles par cellule.
Peut-on faire du code dans une formule ou en VBA ?
D'avance merci.
 

job75

XLDnaute Barbatruc
Re : Concatener avec des styles différents

Bonsoir CP21, bienvenue sur le forum,

Ci-joint un exemple de ce que l'on peut faire. La macro est dans le code de la 1ère feuille et se déclanche quand l'une des cellules des colonnes A B C est modifiée.

A+
 

Pièces jointes

  • Concatener.xls
    34.5 KB · Affichages: 224
  • Concatener.xls
    34.5 KB · Affichages: 233
  • Concatener.xls
    34.5 KB · Affichages: 237

Paillette

XLDnaute Nouveau
Bonjour,

Je suis nouvelle par ici, j'ai plutôt tendance à vous lire qu'à participer..

Mais aujourd'hui je remonte un vieux post après avoir passé beaucoup trop de temps à essayer de faire fonctionner une variation de cette macro..
Je n'arrive pas à comprendre comment modifier les cellules ou lettres qui seront en couleur.
J'essaie de mettre en forme des données que je récupère grâce à la fonction concatener.
En colonne C j'ai une cellule avec du texte, des sauts de ligne et plusieurs hauteurs de police différentes. En colonne D, j'ai du texte, également avec des sauts de lignes et plusieurs tailles de polices différentes, qui s'alignent avec ma colonne D. En colonne E, j'ai mes informations récupérées avec la fonction concatener, mais j'ai besoin de faire varier la hauteur de la 1ère ligne pour m'aligner avec mes colonnes C et D, et que cette ligne soit invisible, donc en blanc.

Je suis sure que mon fichier excel n'est pas fou fou, je prends des infos à droite à gauche sans réelle connaissance excel, d'habitude je me débrouille, mais là je sèche.
Quand la macro se met à jour la 1ère fois, ça fonctionne. Mais si je modifie à nouveau une information du tableau, ça ne marche plus.

Edit: j'ai solutionné mon problème par miracle? Avec ce code:

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 ' la macro se met à jour seule quand on tappe dans les cases du range
 If Intersect(Target, [F7:L65536]) Is Nothing Or Target.Count > 1 Then Exit Sub
  ' nommer les cellules
f$ = Cells(Target.Row, 6)
g$ = Cells(Target.Row, 7)
h$ = Cells(Target.Row, 8)
I$ = Cells(Target.Row, 9)
j$ = Cells(Target.Row, 10)
r$ = Cells(Target.Row, 18) ' X blanc du début pour aligner textes
s$ = Cells(Target.Row, 19) ' saut de ligne
 With Cells(Target.Row, 5) ' cellule cible du concatener

.Value = r & s & f & s & g & s & h & s & I & s & j
        With .Characters(Start:=Len(r), Length:=Len(r)).Font
        .FontStyle = "gras"
        .Size = 11
        .ColorIndex = 2
    End With

   
    With .Characters(Start:=Len(r) + 1, Length:=Len(s & f & s & g & s & h & s & I & s & j)).Font
        .FontStyle = "Normal"
        .Size = 8
        .ColorIndex = 1
    End With
End With
End Sub


Je remercie infiniement par avance toute personne qui se penchera sur ce problème.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 201
Membres
103 156
dernier inscrit
Ludo94130