Numérotation folio excel

[Fermé]
Signaler
Messages postés
34
Date d'inscription
mardi 23 février 2010
Statut
Membre
Dernière intervention
24 juillet 2011
-
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
-
Bonjour,

j'ai un fichier excel 2003 qui sur le 1er onglet se compose actuellement de 11 feuilles les unes en dessous des autres.
Dans chaque feuilles (sauf la 1ere) il y a une cellule en bas a droite qui doit être remplie par le numéro de la page.
Comment est ce que je peux faire en sorte que la numérotation se fasse automatiquement et de la forme 2/11 , 3/11 , 4/11 , ... 11/11 ???

Sachant que ce document peut largement dépasser le nombre des 11 pages comment avec la formule à mettre en place dans la cellule cela puisse se mettre automatiquement a jour de manière à afficher 12/15 , 13/15 ... 15/15 si le document comporte 15 pages.

Merci d'avance
Cordialement.

2 réponses

Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
344
Si c'est pour que ça apparaisse à l'impression, avez-vous pensé a la numérotation dans la mise en page ?

Michel
Messages postés
34
Date d'inscription
mardi 23 février 2010
Statut
Membre
Dernière intervention
24 juillet 2011
1
Bonsoir,
ce n'est pas forcement pour l'impression.
je souhaite que cela apparaisse dans la cellule en bas a droite car cela fait partie d'une procedure client et il faut lui numeroter tous les folios du documents.
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
344
C'est beaucoup plus complexe.
D'abord, je ne vois pas de solution autre que de passer par des macros, lesquelles macros peuvent être moyennement simples à complexes car :
1. Tout dépend s'il y a une ou plusieurs pages par onglet. Il est en effet très simple de calculer un nombre total de pages suivant le nombre d'onglets (ThisWorkbook.Worksheets.Count fait l'affaire). Les choses se compliquent très sérieusement s'il y a plusieurs pages par onglet car il faut analyser chaque onglet un a un pour calculer le nombre de pages, mémoriser le nombre de pages pour chaque onglet et incrémenter un compteur pour avoir le nombre total de pages.
2. Comment définir la chronologie des onglets pour leur attribuer le ou les numéros de page correct(s)? Ont-ils un nom ou un chiffre qui peut-être utilisé pour définir un numéro d'ordre ?
Comme vous le voyez, ce n'est pas un sujet vraiment simple a traiter.

Michel
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
344
Ci-dessous pour débuter une macro finalement assez simple qui calcule et affiche le nombre total de pages à imprimer dans un classeur :

Sub NombrePagesImpression()      
    NbPages = 0      
    For i = 1 To ThisWorkbook.Worksheets.Count      
        Worksheets(i).DisplayAutomaticPageBreaks = True      
        HorizBreaks = Worksheets(i).HPageBreaks.Count      
        HPages = HorizBreaks + 1      
        VertBreaks = Worksheets(i).VPageBreaks.Count      
        VPages = VertBreaks + 1      
        NbPages = NbPages + HPages * VPages      
        Worksheets(i).DisplayAutomaticPageBreaks = False      
    Next i      
    MsgBox "Ce Classeur contient " & NbPages & " pages à imprimer"      
End Sub      

Ce code est une base pour commencer un travail plus complexe sur la numérotation de chaque page.

Michel

Info supplémentaire : Cette macro calcule le nombre de pages en fonction des paramètres de l'imprimante par défaut. Si les pages de chaque feuille sont délimitées, il faut alors supprimer les deux lignes Worksheets(i).DisplayAutomaticPageBreaks = True & False pour calculer le nombre réel de pages à imprimer.
La macro devient alors :

Sub NombrePagesImpression()      
    NbPages = 0      
    For i = 1 To ThisWorkbook.Worksheets.Count      
        HorizBreaks = Worksheets(i).HPageBreaks.Count      
        HPages = HorizBreaks + 1      
        VertBreaks = Worksheets(i).VPageBreaks.Count      
        VPages = VertBreaks + 1      
        NbPages = NbPages + HPages * VPages      
    Next i      
    MsgBox "Ce Classeur contient " & NbPages & " pages à imprimer"      
End Sub      
Messages postés
34
Date d'inscription
mardi 23 février 2010
Statut
Membre
Dernière intervention
24 juillet 2011
1
Bonjour,
je comprend que cela a l'air complexe si tout est sur le meme onglet.
Si je decoupe mon fichier pour que pages de celui ci soit un onglet du classeur excel, est ce que cela devient plus simple pour trouver une formule de numérotation automatique ???
Cordialement.
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
344
Bonjour,

Je rejoins complètement ce qu'écrit Raymond sur la numérotation des pages d'un fichier Excel, mais si c'est ce que vous souhaitez pourquoi pas.

OK pour une page par onglet, mais si vous avez beaucoup d'onglets, vous allez très vite être submergé !

Voici un code qui vous permet d'inscrire le "N° Page " / "Nbre Total de Pages" dans toutes les cellules A1 de votre classeur.

Sub NumerotationPages()    
Dim i As Integer    
ThisWorkbook.Worksheets(1).Select    
For i = 1 To ThisWorkbook.Worksheets.Count    
Worksheets(i).Range("A1").Value = "Page " & i & " / " & ThisWorkbook.Worksheets.Count    
Next    
End Sub    

Voir aussi mon message modifié concernant le calcul du nombre de pages d'un document .

Cordialement,

Michel
Messages postés
54840
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
17 octobre 2021
16 746
"cela fait partie d'une procedure client et il faut lui numeroter tous les folios du documents."

Le client ne va pas numéroter le fichier Excel ! Il va travailler sur le tirage papier.