Inserer numéro de page et nombre de pages dans Word

Lone-wolf

XLDnaute Barbatruc
Bonjour a tous, :)

comment ajouter le numéro de page et le nombre de pages dans l'entête d'un document word. J'ai écrit comme ceci mais, ne pouvant pas ajouter .PageNumbers.Add avec le texte, je ne sais pas comment faire.


Code:
 'Ajoute le numéro de page et nombre de pages dans l'entête
        With WApp.ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary)
        .PageNumbers.Add
        .Range.Text = "Page(s) " & " " & " / " & NbPages
        .PageNumbers.Alignment = wdAlignPageNumberRight
        End With
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Inserer numéro de page et nombre de pages dans Word

Bonjour Chris,

Merci pour l'info, mais il y a longtemps que je le sais. C'est l'utiliser correctement, sans patoger, que je ne sais pas. Même avec celui d'Excel j'ai beaucoup de mal.
 

joss56

XLDnaute Accro
Re : Inserer numéro de page et nombre de pages dans Word

Bonjour Chris,

@ Lone-wolf : un petit conseil; fait la manip 1 fois sur Word sans enregistrer la macro pour bien séquencer les manipulations. Une fois que le "scénario" est prêt, tu lances l’enregistreur de macros Word et tu récupères le code.

Jocelyn
 

Lone-wolf

XLDnaute Barbatruc
Re : Inserer numéro de page et nombre de pages dans Word

Rebonjour à tous

voici ce que j'ai obtenu avec l'enregistreur


Code:
Sub Macro1()
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Application.Templates( _
        "C:\Users\Lone-wolf\AppData\Roaming\Microsoft\Document Building Blocks\1036\14\Built-In Building Blocks.dotx" _
        ).BuildingBlockEntries("Numéros en gras 3").Insert Where:=Selection.Range _
        , RichText:=True
End Sub

Maintenant, comment modifier la macro pour qu'elle soie utlisable sur d'autres ordinateurs?
 

Lone-wolf

XLDnaute Barbatruc
Re : Inserer numéro de page et nombre de pages dans Word

Bonsoir à tous :)

Alors voici comment j'ai fait pour avoir Page 1 / X en haut à droite.


Code:
 NbPages$ = ActiveDocument.ActiveWindow.Panes(1).Pages.Count
 cel.Offset(0, 2) = cel.Offset(0, 2) + NbPages$
  np$ = cel.Offset(0, 2)
With WApp.ActiveDocument.Sections(1)
       .Headers(wdHeaderFooterPrimary).Range.Paragraphs. _
        Alignment = wdAlignParagraphRight
       .Headers(wdHeaderFooterPrimary).PageNumbers.Add
        If cel.Offset(0, 2) <> "" Then  ' Ici je récupère le nb de pages par document
         'np$ = cel.Offset(0, 2) et divise np$ si >= 2
        .Headers(wdHeaderFooterPrimary).Range.Text = "Page " & (np$ / np$) & " / " & NbPages$
         Else
        .Headers(wdHeaderFooterPrimary).Range.Text = "Page " & np$ & " / " & NbPages$
        End If
End With
 
Dernière édition:

Discussions similaires

Réponses
15
Affichages
763
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 211
Membres
103 158
dernier inscrit
laufin