Word - titre avec retour a la ligne après numéro

Bonjour à tous,

Je suis en train de rédiger un document technique et j'aimerai automatiser (si possible) la mise en page qui pour l'instant se fait à la main. En fait j'aimerai que le titre d'une section soit rédigé après un retour à la ligne suite à la numérotation automatique. Une image vaut mille mots, voir ci-après le rendu voulu :

image

L'idée étant qu'en insérant un nouveau chapitre le titre se trouve sous sa numérotation, et non pas à coté comme c'est le cas par défaut. En efet dans les options disponibles je vois espace/tab/rien, mais pas de "retour à la ligne" (en bas à droite sur la 2e image). Ce doit bien etre possible non ?

image

Bonjour Saboh12617,

Le code ci-dessous met en blanc le libellé du style choisi en supposant que la couleur du fond soit également blanche.

Les libellés sont sauvegardés dans une matrice si le dernier caractère du libellé n'est pas de la couleur blanche. Les libellés sont ensuite collés sous chaque ligne du style choisi.

Pour les modifications possibles des titres, cela peut s'avérer fastidieux. Il serait sans doute plus judicieux de créer un signet dans les nouvelles lignes et d'y placer le libellé. En cas de modification du titre, il suffirait de vérifier la présence ou non d'un signet et d'en modifier le contenu le cas échéant.

Option Explicit

Sub ModificationDuStyle()

Dim DocEnCours As Document
Dim I As Integer, J As Integer, IndexMatrice As Integer, LaTaille As Integer
Dim DernierCaractere As Range
Dim LaPolice As String
Dim MatriceTitres() As Variant

    Set DocEnCours = ActiveDocument
    IndexMatrice = 0
    With DocEnCours
         For I = .Paragraphs.Count To 1 Step -1

             With .Paragraphs(I)
                  If .Style = "Titre 1" Then  ' A adapter
                      LaPolice = .Range.Font.Name
                      LaTaille = .Range.Font.Size

                      Set DernierCaractere = .Range.Characters(.Range.Characters.Count)
                      If DernierCaractere.Font.ColorIndex <> wdWhite Then
                            ReDim Preserve MatriceTitres(1, IndexMatrice)
                            MatriceTitres(0, IndexMatrice) = I
                            MatriceTitres(1, IndexMatrice) = Trim(.Range.Text)
                            IndexMatrice = IndexMatrice + 1

                            ' Mise en transparence du titre
                            .Range.Select
                            For J = Selection.Characters.Count To 1 Step -1
                                Selection.Characters(J).Font.ColorIndex = wdWhite
                            Next J
                      End If
                      Set DernierCaractere = Nothing
                End If
           End With

       Next I

       ' Insertion des libellés sous leur ligne de titre
       If IndexMatrice > 0 Then
            For IndexMatrice = LBound(MatriceTitres, 2) To UBound(MatriceTitres, 2)
                .Paragraphs(MatriceTitres(0, IndexMatrice) + 1).Range.Select
                Selection.HomeKey Unit:=wdLine
                Selection.Paragraphs.Add
                 With .Paragraphs(MatriceTitres(0, IndexMatrice) + 1).Range
                      .Text = MatriceTitres(1, IndexMatrice)
                      .Font.Name = LaPolice
                      .Font.Size = LaTaille
                 End With
            Next IndexMatrice
       End If

    End With

    Set DocEnCours = Nothing

End Sub

Merci Eric pour l'astuce VBA.

Je me doutais bien que via VBA c'était possible mais je cherchais une solution "vanilla". J'imagine que c'est titre + sous-titre.J'ai vu des documents administratifs rédigés ainsi d'où mon interrogation.

Bonjour Saboh12617,

Si sous-titre, il te faut dupliquer le code et l'adapter au niveau du style choisi.

Rechercher des sujets similaires à "word titre retour ligne numero"