Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2010, 13h43   #1
Invité de passage
 
Jean-Marc RICHARD
Inscription : septembre 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Jean-Marc RICHARD

Informations forums :
Inscription : septembre 2010
Messages : 7
Points : 2
Points : 2
Par défaut Continuité numérotation pages

[VBA]
Bonjour,

J'utilise word 2002 SP3 sous XP.
j'ai créé une procédure VBA qui ouvre un document Word (toutes les pages sont en portrait, les pieds de page contiennent le numéro de la page), dans lequel je souhaite insérérer, à des endroits précis, des insertions de saut de section page suivante, orienté en portrait ou paysage selon le cas.
J'ai inséré des signets spécifiques à ces endroits.
La procédure marche bien, insère correctement les sauts de section où sont positionnés les signets, sauf qu'à chaque insertion de saut de section page suivante, la numérotation du bas de page repart à 1 ! Mes pieds de page sont pourtant tous liés ("identique au précédent").
Savez-vous quelle est l'instruction qui permet de continuer la numérotation normalement séquentiellement du début à la fin du document ?

Voici un extrait de mon code pour l'insertion des sauts de section :

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
29
30
31
'Pour le signet en cours
If strNomSignet = DONNEE_SAUT_PAGE_PORTRAIT Then
   'on insère un saut de section page suivante, orientation portrait
   strOrientation = wdOrientPortrait
Else
   'on insère un saut de section page suivante, orientation paysage
   strOrientation = wdOrientLandscape
End If
'On insère le saut de section page suivante
'Application.ScreenUpdating = False
Application.ActiveDocument.Bookmarks(i).Select
'Selection.InsertBreak Type:=wdSectionBreakNextPage
Selection.InsertBreak Type:=wdSectionBreakContinuous
With Selection.PageSetup
    .LineNumbering.Active = False
    .Orientation = strOrientation
    .FirstPageTray = wdPrinterDefaultBin
    .OtherPagesTray = wdPrinterDefaultBin
    .SectionStart = wdSectionNewPage
    .OddAndEvenPagesHeaderFooter = False
    .DifferentFirstPageHeaderFooter = False
    .VerticalAlignment = wdAlignVerticalTop
    .SuppressEndnotes = False
    .MirrorMargins = False
    .TwoPagesOnOne = False
    .BookFoldPrinting = False
    .BookFoldRevPrinting = False
    .BookFoldPrintingSheets = 1
    .GutterPos = wdGutterPosLeft
End With
'puis passage au signet suivant
Par avance merci de votre aide !
jmric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 19h20   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 315
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 315
Points : 29 213
Points : 29 213
Salut,

J'ai essayé ton code et je ne rencontre pas ce problème de renumérotation.


Pour qu'elle ne recommence pas, peut-être une piste :

Code :
ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).PageNumbers.RestartNumberingAtSection = False
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 13h30   #3
Invité de passage
 
Jean-Marc RICHARD
Inscription : septembre 2010
Messages : 7
Détails du profil
Informations personnelles :
Nom : Jean-Marc RICHARD

Informations forums :
Inscription : septembre 2010
Messages : 7
Points : 2
Points : 2
Merci beaucoup Heureux-Oli pour ta réponse !
Oui c'était la bonne piste !
J'ai ajouté la boucle suivante à partir de ta ligne de code :

For Each sec In ActiveDocument.Sections
sec.Footers(wdHeaderFooterPrimary).PageNumbers.RestartNumberingAtSection = False
Next sec

=> ça fonctionne impec !
Merci encore mille fois !
jmric est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h58.


 
 
 
 
Partenaires

Hébergement Web