Salut,
Quelques explications !
La fonction recherche et remplacement en fonctionnera pas dans ton cas.
Il faut passer en revue tous les mots du texte pour faire quelques tests.
Le premier est de déterminer si le mot est en gras, si c'est le cas, on ajoute un paragraphe.
Le problème est que dans ce cas, la marque de paragraphe sera ajoutée devant tous les mots en gras.
Il faut donc utiliser un booléen qui basculera au premier mot pas en gras du texte pour signaler que la série des mots en gras est terminée.
Tant que l'on reste dans la série, on n'ajoute pas de paragraphe.
Essaie ce code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Sub AjouterParaGras()
Dim secondmotPasG As Boolean
Dim myWD
For Each myWD In ActiveDocument.Words
'sélection du mot
myWD.Select
'Si le second mot est en gras
If secondmotPasG Then
'Test si le mot est en gras
If Selection.Font.Bold Then
Selection.InsertBefore vbCrLf
'Comme le mot est en gras, on bascule le booléen
secondmotPasG = False
End If
Else
'Si le mot suivant n'est pas en gras : fin de la série
If Not Selection.Font.Bold Then
secondmotPasG = True
End If
End If
Next myWD
End Sub |
Partager