Mise en page pour impression

  • Initiateur de la discussion Initiateur de la discussion J-Charles
  • 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 !

J-Charles

XLDnaute Occasionnel
Bonsoir à tous,
J'aurais besoin d'un petit conseil, concernant l'impression d'un tableau. Tous les jours je dois imprimer un tableau dont le nombre de lignes diffèrent. J'ai donc écris quelques lignes en VBA afin d'automatiser la tâche.
En ce qui concerne la mise en page, j'ai créé un en-tête personnalisé et j'ai précisé les lignes à répéter en haut. Ces 2 options permettant une répétition sur chaque feuille d'impression, est il possible d'indiquer en VBA que ces 2 options ne s'opèrent pas sur la dernière feuille d'impression.
J'ai fait quelques recherches mais cela me parait difficile. Si quelqu'un a une idée, je serais preneur.
Merci d'avance.
 
Re : Mise en page pour impression

Bonjour,

Si tu connais le nombre de pages imprimées, tu peux dans ta macro :
- faire ta mise en page avec entete
- lancer l'impression de toutes les pages sauf la dernière
- modifier la mise en page pour supprimer les entetes
- lancer l'impression de la dernière page

Caillou
 
Re : Mise en page pour impression

Malheureusement je ne sais pas à l'avance le nombre de pages à imprimer, le nombre de lignes varient chaque jour. Mais est il possible qu'Excel le calcule par rapport au saut de page ?
Merci pour ton intervention
 
Re : Mise en page pour impression

Bonsoir à tous,
Suite aux conseils de CAILLOU, j'ai procédé de la manière suivante:
Je compte le nombre de saut de page
NbSautPage = ActiveSheet.HPageBreaks.Count

J'imprime toutes les pages sauf la dernière
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=NbSautPage

J'imprime la dernière page avec ma nouvelle mise en page
With ActiveSheet.PageSetup
.CenterHeader = ......
.CenterFooter = .......
.PrintTitleRows = ......
End With
ActiveWindow.SelectedSheets.PrintOut From:=NbSautPage + 1, To:=NbSautPage + 1

Ca fonctionne au poil, alors un grand merci à CAILLOU
 
- 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
7
Affichages
165
Réponses
2
Affichages
519
Réponses
10
Affichages
728
Retour