VBA mise en gras d'une des deux cellules lors d'une concaténation

lancelot92

XLDnaute Nouveau
Bonjour à tous,

après plusieurs recherches infructueuses, je m'en remets à vous pour résoudre un petit problème qui n'est sûrement pas compliqué mais que je peine à résoudre.

J'ai un code (qui fonctionne parfaitement) qui permet de concaténer les valeurs de cellules de plusieurs colonnes. Seulement j'aimerais mettre en gras (ou en couleur) la valeur qui provient de la cellule B c'est-à-dire
Code:
Range("B" & i).Value
mais je en sais pas comment m'y prendre.

Auriez vous des idées ?

Pour info, voici mon code complet

Code:
Sub tri_actions()
j = 96
For i = 4 To 31
If Not Range("G" & i) = "" Then
Range("AP" & j).Value = "- " &[B] Range("B" & i).Value [/B]& Chr(10) & Range("J" & i).Value
Range("AU" & j).Value = Range("N" & i).Value
Range("AV" & j).Value = Range("O" & i).Value
j = j + 4
End If
Next
j = 98
For i = 4 To 31
If Not Range("G" & i) = "" Then
Range("AP" & j).Value = Range("M" & i).Value
j = j + 4
End If
Next
Cells(7, 35).Select
'ActiveSheet.PrintOut
ThisWorkbook.Save
End Sub
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : VBA mise en gras d'une des deux cellules lors d'une concaténation

Bonjour

une solution possible:

rajouter juste après
Code:
Range("AP" & j).Value = "- " & Range("B" & i).Value & Chr(10) & Range("J" & i).Value
la ligne
Code:
Range("AP" & j).Characters(3, Len(Range("B" & i))).Font.Bold = True

A+
 

lancelot92

XLDnaute Nouveau
Re : VBA mise en gras d'une des deux cellules lors d'une concaténation

Juste une petite dernière chose :
Là ça fonctionnement parfaitement car je mets en gras depuis le premier caractère jusqu'à la longueur de Range("B" & i).. La longueur de la chaîne de caractères peut donc être variable, ça ne pose aucun problème elle sera toute en gras.

Cependant si je veux mettre en gras la deuxième partie de la concaténation à savoir Range("J" & i).Value, comment dois-je faire ? Car celle-ci démarre à la fin de Range("B" & i)., et peut donc être variable.

Suis-je compréhensible ? Comment dois-je faire ?
 

Paf

XLDnaute Barbatruc
Re : VBA mise en gras d'une des deux cellules lors d'une concaténation

Re,

Ce sera le même principe, en utilisant Range("AP" & j).Characters(Départ, Longueur).Font.Bold = True

Départ indiquera la position où commenceront les caractères gras( ici après CHR(10)): soit 2 ("- " ) + longueur Bi (Len(Range("B" & i))) + 1 (Chr(10)) + 1 (pour être sur le caractère suivant chr(10))

et où Longueur sera le nombre de caractères à mettre en gras; soit Len(Range("J" & i))

Bonne suite
 

Discussions similaires

Réponses
11
Affichages
286

Statistiques des forums

Discussions
312 189
Messages
2 086 031
Membres
103 101
dernier inscrit
CyberAlex93