Sommaire avec numéro de pages sur Excel

Résolu/Fermé
Chester Copperpot Messages postés 17 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 14 janvier 2022 - 13 janv. 2022 à 18:44
Chester Copperpot Messages postés 17 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 14 janvier 2022 - 14 janv. 2022 à 07:22
Bonjour à tous,

Je souhaiterais passer de Word à Excel pour la rédaction de mes rapports.
Mes rapports sont essentiellement composés de tableaux Excel, les copier-coller me font perdre beaucoup temps, et je n'ai pas réellement besoin des fonctions proposées par Word.

En gros je souhaiterais utiliser les feuilles Excel comme chapitres.

Cependant je bloque sur le sommaire automatique avec le numéro des pages :

J'ai bien inséré les numéros de page en pied de page.

Lorsque l'on fait "Imprimer le classeur entier", on constate que les numéros de pages s'enchainent correctement (si la Feuille 1 possède trois pages, alors la Feuille 2 démarre bien en page n°4).

En revanche lorsque l'on est en affichage "Mise en Page", toute les feuilles démarrent par une page n°1.

Dans la première feuille ("Sommaire") j'arrive bien à lister le nom de toutes les feuilles via une macro.

Ma question est la suivante :
Je voudrais afficher en face du nom de chaque feuille le numéro de page que l'on retrouve lorsque l'on fait "Imprimer le classeur entier". Je ne sais pas comment extraire cette variable...

Merci beaucoup pour votre aide!

Vincent

Configuration: Windows / Firefox 96.0
A voir également:

1 réponse

via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
Modifié le 13 janv. 2022 à 19:30
Bonsoir

En VBA l'instruction donnant le nombre de pages d'une feuille est :
nbf =ExecuteExcel4Macro("GET.DOCUMENT(50)")

Exemple de macro pour relever les noms de toutes les feuilles et le n° de leur première page lors d'une impression totale
Sub sommaire()
'si la première feuille excel commence à 1 mettre deb =0 sinon si par ex sommaire en 1er sur une page numérotée page 1 mettre comme ici deb=1
deb = 1
' le sommaire étant en premier onglet, boucle sur les autres feuilles
For n = 2 To Sheets.Count
 Sheets(n).Select
 ' relève le nom de la feuille
 Sheets("Sommaire").Range("B" & n) = Sheets(n).Name
 ' inscrit le n° de la 1ere page
 Sheets("Sommaire").Range("C" & n) = deb + 1
 'incrémente la variable avec le nombre de pages de la feuille
  deb = deb + ExecuteExcel4Macro("GET.DOCUMENT(50)")
  Next
  
  Sheets("Sommaire").Select
End Sub


Cdlmnt
Via

1
Chester Copperpot Messages postés 17 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 14 janvier 2022
14 janv. 2022 à 07:22
Bonjour,

Et bien merci beaucoup pour cette réponse parfaite! C'est exactement ce que je voulais.
Du coup plus d'excuse, je vais devoir me mettre au travail maintenant!

Très bonne journée à vous.
0