Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

insérer en automatique un numéro page sur plusieurs onglets

  • Initiateur de la discussion Initiateur de la discussion sesa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sesa

XLDnaute Occasionnel
Bonjour,

J'ai un classeur avec 5 onglets tout sachant que d'autres viendront s'ajouter.

Voilà, je souhaiterais insérer un pied page pour chaque onglet en prenant en compte l'intitulé de chaque onglet.

Ex: onglet intitulé "page d'accueil" sera le pied de page n°1 (ci-joint fichier)
onglet "interface" sera le pied de page n°2 etc....


est il possible que cela soit fait en automatique à chaque insertion d' un nouvel onglet en gardant l'ordre?

par contre, il faut que cela apparaisse en bas de la mise en page.
merci de votre aide
 

Pièces jointes

Re : insérer en automatique un numéro page sur plusieurs onglets

Bonsoir sesa, le forum,

Vois ces 2 macros à mettre dans ThisWorkbook
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
  Sh.PageSetup.RightFooter = "&A page " & Sh.Index
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Sh.PageSetup.RightFooter = "&A page " & Sh.Index
End Sub

La première pour la création d'une feuille et la seconde dans le cas où tu déplaces des onglets, lors de l'activation de la feuille son N° est remis à jour.

A+

Martial
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Re,

Où directement
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim i&
For i = 1 To Sheets.Count
  Sheets(i).PageSetup.RightFooter = "&A page " & Sheets(i).Index
Next
End Sub
pour remettre à jour toutes les feuilles lorsque tu en rajoutes une. Si par contre tu en déplaces une dans le lot, les feuilles ne seront pas mises à jour.

A+
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonjour Yaloo, et le forum,

Merci pour les codes.
Par contre, je n ai pas les pieds de dans la mise en page pour chaque onglet.
Dans mon classeur, j ai environ 45 pages et j aimerais numéroter la mise en page. Ex : onglet intitulé "interface" et bien dans mise en page lors de l impression ça sera la page 1. Pour chaque impression je voudrai que le numéro de page s affiche.
Donc a chaque fois je dois insérer le numéro de page . Ex: onglet page accueil qui sera la page 2
A la fin je dois faire un book.
 
Dernière édition:
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonsoir sesa, le forum,

Tout dépend comment tu travailles, rajoutes-tu souvent des onglets ? Déplaces-tu souvent des onglets ?
Le problème que tu peux rencontrer c'est lors d'ajout d'onglet, si tu insères un onglet au milieu des autres ou à la fin.

En gros, tu as Workbook_NewSheet qui te permet de lancer une macro dès que tu ajoutes un onglet. Si l'onglet ajouté est systématiquement à la fin
VB:
  Sh.PageSetup.RightFooter = "&A page " & Sh.Index
si l'onglet peut être au milieu des autres, alors une boucle s'impose
VB:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim i&
For i = 1 To Sheets.Count
  Sheets(i).PageSetup.RightFooter = "&A page " & Sheets(i).Index
Next
End Sub
si tu déplaces régulièrement tes onglets, peut être
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i&
For i = 1 To Sheets.Count
  Sheets(i).PageSetup.RightFooter = "&A page " & Sheets(i).Index
Next
End Sub
mais à chaque fois que tu vas activer un onglet la macro va se lancer.

A+

Martial
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonjour Yaloo et le forum,

Yaloo,
Le classeur a déjà 45 onglets et après réflection je ne vais pas ajouter d autres onglets.
Tout ces onglets ont un nom, ce que je souhaite en gardant ces noms et en commençant par le premier onglet Insérer un pied de page ce qui veut dire qu il portera la page numero une de mon livre.
Ensuite le deuxième sera pied de page numero 2 etc...
Est il possible de créer un code vba qui prenne en charge la numérotation des pieds pages par ordre croissant ?
En espérant avoir été explicite dans mon argument.
Merci
 
Dernière édition:
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonsoir sesa,

Avec la macro ci-dessous, si tu ne rajoutes pas ou ne déplaces pas d'onglet
VB:
Sub Annotation_Num-Page()
Dim i&
For i = 1 To Sheets.Count
  Sheets(i).PageSetup.RightFooter = "&A page " & Sheets(i).Index
Next
End Sub

A+

Martial
 
Re : insérer en automatique un numéro page sur plusieurs onglets


Bonsoir Yaloo et le forum,

J'ai copié le code vba dans worksheets dans mon classeur et pas de numéro de page quand je fais un aperçu d'un onglet.
De plus, la première ligne du code police Sub Annotation_Num-Page() est en rouge. Est ce que cela peut jouer sur le lancement du code?
Te serait il possible d'utiliser le fichier afin de le faire fonctionner ?
merci
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonjour sesa, bonjour tout le monde,

Désolé 😱, dans un nom de macro il ne faut pas mettre de - mais le _ cela devrait fonctionner si tu remplaces ce caractère. Ensuite tu peux lancer la macro, soit à la main soit avec un bouton etc...

En relisant ton post #6 j'ai un doute, chaque onglet aura une seule page, comme dans ton exemple, où les onglets seront constitués de plus d'une page. Si c'est le cas, la macro ne fonctionnera pas.

A+

Martial
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Bonjour Yaloo,

Oui dans chaque onglet une seule page et j'ai modifié le - par _
Je l'ai exécuté mais rien à faire dans mon classeur cité dans mon post.
une astuce?
 
Re : insérer en automatique un numéro page sur plusieurs onglets

Re,

Avec la macro que je t'ai donné dans mon post précédent ça fonctionne (enfin chez moi), normalement en bas à droite de chaque page il y a le nom de l'onglet et page 1, 2,3 etc... en fonction de l'onglet.
Les pieds de page ne se voient qu'à l'impression ou en allant dans l'aperçu avant impression.
As-tu essayé en pas à pas ?

Avec celle-ci cela va te faire apparaitre l'aperçu avant impression.
VB:
Sub Annotation_Num_Page()
Dim i&
For i = 1 To Sheets.Count
  Sheets(i).PageSetup.RightFooter = "&A page " & Sheets(i).Index
  Sheets(i).PrintPreview
Next
End Sub
A+
Martial
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
978
Membre supprimé 341069
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…