Rajouter automatiquement le num de page Excel

[Résolu/Fermé]
Signaler
-
 MANU -
Bonjour,

Je suis en train de créer un fichier Excel (2010) qui se décompose en plusieurs feuilles. Mais le nombre de ces feuilles n'est pas fixe car il y a des macros qui suppriment certaines feuilles en fonction de données choisies auparavant. J'aimerais savoir si il était possible de numéroter chaque page automatiquement ?

Merci pour vos réponses.


8 réponses

Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Pour afficher le nombre total de pages, remplacer la première macro par celle-ci que j'ai aussi un peu modifiée :

Dim PageNum As Byte   
Dim PageTot As Byte   
Dim sh As Excel.Worksheet   

Sub Numerotation()   
Application.ScreenUpdating = False   
PageTot = ActiveWorkbook.Sheets.Count   
PageNum = 1   
For Each sh In Worksheets   
sh.Range("ici la référence de la cellule où doit être écrit le numéro de page") = "'" & PageNum & " / " & PageTot   
PageNum = PageNum + 1   
Next   
Application.ScreenUpdating = True   
End Sub   

Je vous laisse la modifier pour votre application

Michel
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42854 internautes nous ont dit merci ce mois-ci

Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Clic droit sur vos onglets, sélectionner "Visualiser le code"
Ce qui ouvre Microsoft Visual Basic.
Clic droit sur le dossier "Microsoft Excel Object" de votre classeur, sélectionner "Insertion" puis module.
Mettre cette macro dans le module :

Dim PageNum As Byte  

Sub Numerotation()  
Application.ScreenUpdating = False  
PageNum = 1  
For Each sh In Sheets  
sh.Select  
Range("ici la référence de la cellule où doit être écrit le numéro de page").Value = PageNum  
PageNum = PageNum + 1  
Next sh  
Application.ScreenUpdating = True  
End Sub

Il vous suffit ensuite d'appeler la macro à partir de votre classeur pour qu'elle s'exécute.
Michel
A quoi sert la dernière ligne? "Application.ScreenUpdating = True"
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Application.ScreenUpdating = False sert à figer la mise à jour de l'écran pendant l'opération. On le bloque avant pour éviter de visualiser chaque feuille durant l'exécution de la macro, et on rétabli la mise à jour à la fin avec Application.ScreenUpdating = True.

Michel
Ok c'est bien ce que j'avais remarqué, merci beaucoup
Messages postés
4106
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
15 septembre 2021
1 467
Salut,

Je vais peut-être dire une énooooorme connerie (mon dernier usage de Excel remonte à euh... Longtemps), mais ce ne serait pas dans les options du pied de page ? :)
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Pouvez vous clarifier svp.
Vous parlez de feuille et de page, ce qui n'est pas la même chose.
Une feuille c'est un onglet, une page c'est pour l'impression.
Si c'est pour l'impression, il suffit de demander la numérotation des pages dans la mise en page des en-tête et pied de page.
En fait, j'ai une feuille par onglet, et celles-ci seront imprimées par la suite. Je ne peux pas utiliser les "en-tête et pied de page" car je veux avoir la date dans un endroit précis de la feuille.

Merci.
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Je ne vois pas bien le rapport entre date et en-tête ou pied de page.
Voulez-vous dire que l'endroit précis de la date sur votre page se retrouve sur une des zones (en-tête ou pied de page) et que vous ne pouvez pas faire coïncider la date dans ces zones avec cet emplacement précis de la page ?
Messages postés
4106
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
15 septembre 2021
1 467
Si j'ai bien compris, il veut insérer le numéro de page dans une cellule.
En marquant date je voulai dire page ... Dur le lundi...
Oui je veux insérer le numéro de page dans une cellule.
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
343
Vos feuilles sont elles organisées par ordre chronologique ?
Messages postés
4106
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
15 septembre 2021
1 467
Regarde dans l'outil d'insertion de formules, il y a peut-être ton bonheur. Si ça n'y est pas, il ne reste plus qu'à attendre auprès de quelqu'un de plus compétent.
Merci bien, c'est exactement ce que je cherchais !
Mes 4 premiers onglets n'étaient pas à numéroter mais j'ai trouvé une solution.
Par contre, pour être parfait, peut-on écrire "1 sur 8" ? (Si le nombre de page est au final 8)

Merci pour ta réponse rapide et efficace!
PARFAIT!
Je n'ai plus qu'à marquer ceci comme résolu, encore merci pour votre aide mic13710.