Rajouter automatiquement le num de page Excel

Résolu/Fermé
MANU - 2 mai 2011 à 09:44
 MANU - 2 mai 2011 à 14:23
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.


A voir également:

8 réponses

mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
Modifié par mic13710 le 2/05/2011 à 14:01
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
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
Modifié par mic13710 le 2/05/2011 à 11:11
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
1
A quoi sert la dernière ligne? "Application.ScreenUpdating = True"
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
2 mai 2011 à 13:41
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
0
Ok c'est bien ce que j'avais remarqué, merci beaucoup
0
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 ? :)
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
2 mai 2011 à 09:51
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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.
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
2 mai 2011 à 10:22
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 ?
0
Utilisateur anonyme
2 mai 2011 à 10:24
Si j'ai bien compris, il veut insérer le numéro de page dans une cellule.
0
En marquant date je voulai dire page ... Dur le lundi...
Oui je veux insérer le numéro de page dans une cellule.
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
2 mai 2011 à 10:33
Vos feuilles sont elles organisées par ordre chronologique ?
0
Oui
0
Utilisateur anonyme
2 mai 2011 à 10:22
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.
0
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!
0
PARFAIT!
Je n'ai plus qu'à marquer ceci comme résolu, encore merci pour votre aide mic13710.
0