C'est simple surtout si vous démarrez un nouveau document :
L'option Lier au précédent est une option par défaut, il faut juste y ajouter l'option de commencer à 1 pour la numérotation des pages.
il suffit ensuite d'entrer dans le pied de page (ou l'en-tête) de la première page les champs suivants :
Le champ {PAGE} est pour le numéro de la page, et le champ {SECTIONPAGES} pour le nombre total de pages dans la section.
Je rappelle que tous les { } se créent avec Ctrl+F9.
Lorsque vous allez entrer un saut de section, le pied de page de la section suivante sera identique à la première (grâce à l'option Lier au précédent) et la numérotation repartira donc de 1.
Si vous intervenez sur un document déjà créé et comportant un certain nombre de sections :
- Soit l'option Lier au précédent est l'option sélectionnée sur toutes les sections, il suffit alors de juste indiquer que la pagination démarre à 1 sur chaque d'elle : pour cela, sélectionnez tout le document (Ctrl+A), puis onglet Insertion, groupe En-têtes et pied de page, bouton Numéro de page => Format des numéros de page => À partir de 1.
- Soit l'option Lier au précédent est "variable" selon les sections, il va falloir afficher le pied de page de chacune d'elle et choisir Lier au précédent, puis, comme ci-dessus, choisir de démarrer le numéro à 1.
Sur un document déjà créé et fait un peu en dépit du bons sens, s'il y a beaucoup de sections et que vous ne vous y retrouvez plus, en gros si vous ne vous en sortez pas, alors : macro !
La macro suivante va supprimer l'existant du point de vue pied de page, va annuler si nécessaire les options pair/impair et première page différente, et insérer dans le pied de page cette numérotation par section, commençant à 1 avec le nombre total de pages de chaque section.
Sub pagination_section()
'macro écrite par m@rina
Application.ScreenUpdating = False
Dim x As Integer, mondoc
Set mondoc = ActiveDocument
If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _<br> ActivePane.View.Type = wdOutlineView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
'suppression de tous les pieds de page existant
'suppression de Première page différente
'suppression de page paire/impaire différente
For x = 1 To mondoc.Sections.Count
With mondoc.Sections(x)
.Footers(wdHeaderFooterPrimary).Range.Delete
.Footers(wdHeaderFooterEvenPages).Range.Delete
.Footers(wdHeaderFooterFirstPage).Range.Delete
.PageSetup.DifferentFirstPageHeaderFooter = False
.PageSetup.OddAndEvenPagesHeaderFooter = False
End With
With mondoc.Sections(x).Footers(wdHeaderFooterPrimary)
.PageNumbers.RestartNumberingAtSection = True
.PageNumbers.StartingNumber = 1
.LinkToPrevious = True
End With
mondoc.Sections(x).Footers(wdHeaderFooterPrimary).Range.Select
With Selection
.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="PAGE"
.TypeText Text:="/" ' & texte
.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:="SECTIONPAGES"
.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
Next
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Application.ScreenUpdating = True
End Sub