XL 2019 Changer la graisse et la taille avant le deuxième retour à la ligne dans une cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonjour Le Forum,
J'ai une cellule à trois lignes en corps normal et en taille 75.
Je n'arrive pas à trouver le bon code VBA pour mettre en gras et en taille 90 les deux premières ligne d'une cellule, la troisième gardant son corps normal à 75 comme avant la transformation.

Le code de départ est ceci, corps "normal" à taille "75" :
VB:
Cells(i, 2) = PAN.Cells(5, col) & vbLf & PAN.Cells(7, col) & vbLf & PAN.Cells(40, col)

J'ai essayé avec cela mais c'est un massacre !

VB:
'Cells(i, 2) = PAN.Cells(5, col).FontStyle = "Gras" & PAN.Cells(5, col).Size = 90 & vbLf & PAN.Cells(7, col).FontStyle = "Gras" & PAN.Cells(7, col).Size = 90 & vbLf & PAN.Cells(40, col)

Peut-être me proposerez-vous une solution, ça m'arrangerais énormément.
Merci à l'avance,
Webperegrino
 
Bonsoir.
Essayez ça :
VB:
Dim Z As String
Z = PAN.Cells(5, col) & vbLf & PAN.Cells(7, col)
Cells(i, 2).Value = Z & vbLf & PAN.Cells(40, col)
With Cells(i, 2).Font
   .Bold = True: .Size = 90: End With
With Cells(i, 2).Characters(Start:=Len(Z) + 1).Font
   .Bold = False: .Size = 75: End With
 
Bonsoir Le Forum,
Bonsoir VGendron,
oui j'ai inclus dans mes lignes de macros ceci, en fin des calculs et avant l'affichage des résultats :

Objectif : les deux premières lignes seront en 90 gras
VB:
For lg = 4 To Range("B" & Rows.Count).End(3).Row
  With Cells(lg, 2) '.Select
    With .Characters(start:=1, Length:=30).Font
        .FontStyle = "Gras"
        .Size = 90
    End With
    With .Characters(start:=31, Length:=8).Font
        .FontStyle = "Normal"
        .Size = 75
    End With
  End With
Next

Je suis prêt de réussir, mais le problème reste que la graisse et la tailles se mettent bien, mais, non pas en tenant compte du "avant le deuxième retour de ligne", mais des longueurs de lignes.
J'obtiens alors l'exemple :
XXX XXXXX
14:00 - 17:00
YYY·123

...
XXX XXXXX
14:00 - 1 ... en 90 gras, et le reste normal en 75.

Bonsoir Dranreb, j'essaie ta solution parue pendant que je préparais ma réponse à VGendron.
Merci
Webperegrino
 
Le Forum,
Dranreb,
Wouah ! Tes codes fonctionnent à merveille. Je viens d'appliquer et c'est excellent.
Grand merci, j'en prend notes.
Merci à vous deux pour votre expérience et surtout votre diligence à répondre.
Bon week-end,
Webperegrino
 
Merci VGendron pour cette deuxième proposition que je vais aussi essayer.
Mais il me semble que la proposition de Dranreb a répondu parfaitement à ma requête.
Je vais demain essayer la formulation "Split" que je ne maîtrise pas beaucoup.
C'est sympa d'avoir si vite répondu ; ça confirme l'excellence de ce Forum, vous êtes vraiment des pointures dans le domaine.
Webperegrino
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour