Numérotation folio excel

Fermé
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 - 24 janv. 2011 à 15:22
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 - 25 janv. 2011 à 12:05
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.
A voir également:

2 réponses

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

Michel
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
24 janv. 2011 à 17:46
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.
0
mic13710 Messages postés 1088 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 354
24 janv. 2011 à 18:53
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
0
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 25/01/2011 à 13:00
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      
0
johannenzo Messages postés 34 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 24 juillet 2011 1
25 janv. 2011 à 07:51
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.
0
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 25/01/2011 à 13:02
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
0
Raymond PENTIER Messages postés 58395 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 096
24 janv. 2011 à 19:34
"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.
-1