Rajouter automatiquement le num de page Excel

Résolu
MANU -  
 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

  1. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
     
    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
  2. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
     
    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
    1. MANU
       
      A quoi sert la dernière ligne? "Application.ScreenUpdating = True"
      0
    2. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
       
      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
    3. MANU
       
      Ok c'est bien ce que j'avais remarqué, merci beaucoup
      0
  3. Utilisateur anonyme
     
    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
  4. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. MANU
     
    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
    1. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
       
      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
    2. Utilisateur anonyme
       
      Si j'ai bien compris, il veut insérer le numéro de page dans une cellule.
      0
    3. MANU
       
      En marquant date je voulai dire page ... Dur le lundi...
      Oui je veux insérer le numéro de page dans une cellule.
      0
    4. mic13710 Messages postés 1165 Date d'inscription   Statut Membre Dernière intervention   360
       
      Vos feuilles sont elles organisées par ordre chronologique ?
      0
    5. MANU
       
      Oui
      0
  7. Utilisateur anonyme
     
    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
  8. MANU
     
    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
  9. MANU
     
    PARFAIT!
    Je n'ai plus qu'à marquer ceci comme résolu, encore merci pour votre aide mic13710.
    0