XL 2019 VBA récupérer numéro de page et nombre de pages

ThierryP

XLDnaute Occasionnel
Bonjour le forum,

Pour éditer des listes d'inventaire (typiquement, une ligne = emplacement, référence, désignation, quantité), je souhaite pouvoir scinder l'impression en deux ou plusieurs documents papier. Pour cela, j'insère un saut de page avant une ligne déterminée par macro. Jusque là, tout va bien !

Mon petit souci : si le fichier imprimé en entier comporte 6 pages, quand j'imprime, le premier document est numéroté page 1/2 et 2/2, le deuxième page 1/4 à 4/4.
Ce que je voudrais, c'est que le premier soit numéroté 1/6 et 2/6 et que le deuxième soit numéroté 3/6 à 6/6.

Après pas mal de recherches et de tentatives d'adaptation, je sèche un peu !

Merci d'avance à tout généreux contributeur qui pourra me fournir une piste !!!

ThierryP
 
Dernière édition:
Solution
J'arrête de me prendre la tête avec ce petit souci.... Quel que soit le code utilisé, j'arrive à un focntionnement aléatoire : à la première exécution, j'obtiens la bonne valeur avec les deux codes; à la deuxième, bonnes valeurs aussi..... ou pas : VBA m'affiche 5 pages, ou 3 ou 2. Difficile de savoir ce qui se produit !

Quelques recherches sur des forums en anglais m'ont juste montré que d'autres avaient eu la même problématique, mais de solution ! Bon, je n'ai pas non plus cherché toute la nuit !

En tous cas, merci de vous être penché sur mon problème !

ThierrP

ThierryP

XLDnaute Occasionnel
Bonjour Thierry,
Je suppose la numérotation est dans le pied de page ?
Si oui, regardez ici , partie de Docmarti.
Vous gérez la mise à jour de la numérotation par macro avec comme paramètres &P+x en mémorisant le nombre de pages déjà imprimées.
Bonjour Sylvanu,

Merci du retour ! J'ai réussi à avancer un peu sur le sujet, mais nouveau problème.... Mon document a une mise en page (en-tête, pied etc...) et l'aperçu me donne 6 pages au total.
Si je teste avec :
MsgBox ExecuteExcel4Macro("GET.DOCUMENT(50)") & " pages"
ou
MsgBox (ActiveSheet.HPageBreaks.Count + 1)
les deux me renvoient 3 pages, comme si la mise en page ni le saut de page n'étaient pris en compte ????
Je viens de tester avec les mêmes données sur un fichier neuf sans mise en page et je trouve bien 3 pages 😭😭

Donc, j'ai un peu de mal à faire mes petits calculs et je ne trouve pas de posts avec cette problématique....
Je continue mes essais avec la méthode Shadocks 😂😂

ThierryP
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai trouvé ça au cas où : Lien
J'ai fait un essai en PJ, cela à l'air de marcher avec ça :
VB:
MsgBox "Nombre de page total : " & ExecuteExcel4Macro("GET.DOCUMENT(50)")
Je ne comprends pas.
Par contre attention, les pages "vides" ne sont pas comptées. Peut être est ce le piège.
 

Pièces jointes

  • Essai comptage page.xlsm
    16.8 KB · Affichages: 10

ThierryP

XLDnaute Occasionnel
J'arrête de me prendre la tête avec ce petit souci.... Quel que soit le code utilisé, j'arrive à un focntionnement aléatoire : à la première exécution, j'obtiens la bonne valeur avec les deux codes; à la deuxième, bonnes valeurs aussi..... ou pas : VBA m'affiche 5 pages, ou 3 ou 2. Difficile de savoir ce qui se produit !

Quelques recherches sur des forums en anglais m'ont juste montré que d'autres avaient eu la même problématique, mais de solution ! Bon, je n'ai pas non plus cherché toute la nuit !

En tous cas, merci de vous être penché sur mon problème !

ThierrP
 

Discussions similaires

Réponses
20
Affichages
802

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

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