Bonjour,
Je vous remercie pour votre aide
Sur le document de travail, cela fonctionne, en revanche, si je l'utilise dans mon document complet, il y a une erreur sur cette ligne : nb = Len([b2]): [b2].Select
J'ai modifié la ligne comme ceci : nb = Len(Cells(2, 2))
Puis l'ensemble du code en conséquence.
Sub CarGras()
Dim s%, c%, FinTitre%, Deb%, Fin%
Set ws6 = Worksheets("Synthèse ZH")
Application.ScreenUpdating = False
Deb = 0: Fin = 0
With ws6
nb = Len(.Cells(2, 2))
For s = 1 To nb
If Mid(.Cells(2, 2), s, 1) = Chr(10) Then FinTitre = s: Exit For
Next s
For c = s To nb
If Mid(.Cells(2, 2), c, 1) = "(" Then Deb = c
If Mid(.Cells(2, 2), c, 1) = ")" Then Fin = c - Deb
If Deb > 1 And Fin > 1 Then ActiveCell.Characters(Start:=Deb, Length:=Fin).Font.FontStyle = "Gras": Deb = 0: Fin = 0
Next c
ActiveCell.Characters(Start:=1, Length:=FinTitre).Font.FontStyle = "Gras"
End With
Application.ScreenUpdating = True
End Sub
Il reste un souci
Dans son exécution, le code utilise les "Chr(10)" ; ce qui fonctionne bien, uniquement si j'ai double cliqué au préalable sur la cellule. En effet, avant cela toutes les phrases sont collées entre-elles. Si je veux que les saut de ligne apparaissent, il me faut double cliquer sur la cellule B2. Sauf qu'en l'occurrence, votre code, qui met en gras certaines parties de la cellule, s'exécute à la suite de mon code, avant que je ne double clique sur la cellule.
C'est assez bizarre comme problème, je vais me renseigner pour trouver une solution et je posterai à la suite si je trouve !
Merci encore
A plus tard !