Pagination classeur

Bonjour,

Me voilà à nouveau pour solliciter votre aide.

J'ai avec un classeur avec plusieurs feuilles, dans ces feuilles se trouve plusieurs "page", si on peut dire, qui sont défini par des zone d'impression. Excel affiche donc bien en filigrane le numéro de chaque page.

J'ai trouvé un code qui permet de compter les page en fonction des saut de page et ainsi affiche "Page 1/..." dans la cellule active.

J'ai réussi à modifier une bricole qui permet de lancer la pagination par un bouton et afficher le nombre de page toujours dans la même cellule.

Cependant, le code ne compte les saut de page que dans une seule feuille. je n'ai pas réussis à le modifier pour qu'il compte les pages dans toutes les feuilles actives.

J'ai essayé de modifier "ActiveSheet" par "ActiveWorkSheet", et d'autre termes, mais sans succès

De plus, je vois dans ce code, que les sauts de pages sont compter jusqu'à la cellule active, comment le modifier pour que cela compte jusqu'au dernier saut de page ?

'comptage du nombre de sauts de page verticaux jusqu'à la cellule active

Next

Je vous joint le code.

Merci d'avance pour votre aide.

Sub test_numpage()

End Sub

Bonjour,

'comptage du nombre de sauts de page verticaux jusqu'à la cellule active
 For j = 1 To ActiveSheet.VPageBreaks.Count
 If ActiveSheet.VPageBreaks(j).Location.Column > ActiveCell.Column Then Exit For
 Next

La condition If est faite pour stopper le compte si on dépasse la cellule active...

Donc mettez un apostrophe au début de cette ligne , elle restera en mémoire du code mais ne sera pas exécutée car transformée en commentaire.

Du coup le code comptera tous les saut de pages.

@ bientôt

LouReeD

Merci pour votre réponse,

en effet ça avance un peu mieux en enlever cette ligne.

Mais maintenant je me retrouve dans ma cellule de pages avec "-5/6".

Le 6 étant le nombre total de page, il ne s'est pas mis à jours lorsque j'ai modifier la zone d'impression en enlevant une page, cela aurait du passer à 5.

Et de plus, cela ne compte pas les pages des autres feuilles visible. Seulement la première.

Alors les sauts de page c'est un peu comme une clôture ouverte :

une page un poteau, un panneau un saut de page.

Si vous avez 6 page alors il y a 5 sauts de pages...

Si vous voulez faire le compte des sauts de pages sur toutes les feuilles visibles, il faut alors faire une boucles sur ces feuilles !

Si vous voulez que les valeurs des pages soient communes, alors il va falloir créer des variables qui s'incrémenteront de page en page afin de connaître le nombre de page total, et ensuite incrémenter le numéro de page actuel...

J'avoue ne pas bien maitrisé le truc

@ bientôt

LouReeD

J'ai compris avec les poteaux et les panneaux.

je vais voir ce que je peux faire alors. Mais ne sachant pas encore créer de boucle, si vous avez un début de piste pour moi , je suis preneur.

Merci

Un principe :

For Each Sh In WorkSheets
If Sh.Visible = True Then
' on compte le saut de page
End If
Next Sh

On boucle sur les feuilles du classeur, si la feuille est visible on compte les sauts de pages, on incrémente des variables etc., sinon on passe à la feuille suivante.

@ bientôt

LouReeD

Quoi qu'il en est, c'est toujours plus facile avec un fichier...

Vous pouvez aussi regarder les sujets similaires qui sont indiqués en bas de page...

@ bientôt

LouReeD

Merci, je vais essayer de m'en inspirer pour y arriver

Alors je fais un fichier test

10pagination.xlsm (20.23 Ko)

Voilà votre fichier modifié et simplifié :

16pagination.xlsm (32.76 Ko)

Le principe :

on recherche le nombre de saut de page par feuille testée, on incrémente ce nombre de 1 pour trouver le nombre de page de cette feuille et on remet la variable saut de page à 0, puis on boucle sur la feuille suivante etc...

A la fin un message box vous informe du nombre de page du fichier.

@ bientôt

LouReeD

Magnifique merci.

ça fonctionne très bien à un bémol près. En faisant évoluer les pages en bougeant la zone d'impression, le "compteur" reste au dernier chiffre. Il ne "relance" pas le comptage lors du click sur le bouton.

Comment remédier à ça ?

En faisant évoluer les pages en bougeant la zone d'impression, le "compteur" reste au dernier chiffre.

Je ne comprend pas...

Je viens d'ajouter un saut de ligne sur la feuille 1 et le nombre de page est passé à 11 au total une fois le bouton cliqué, soit :

3+4+4 = 11

@ bientôt

LouReeD

Oui je vois ça, sur le fichier test cela fonctionne parfaitement. Mais quand je copie le code sur mon véritable fichier, cela doit venir de mon fichier du coup.

Est-il confidentiel ?

Si oui et s'il n'est pas trop "gros" il y a les MP

@ bientôt

LouReeD

Oui, navré, confidentiel, et 10Mo.

Je devrais réussir à m'en sortir avec ce que vous m'avez envoyé, merci encore pour l'aide apportée !!

Rechercher des sujets similaires à "pagination classeur"