Répéter la mise en page sur plusieurs feuilles : optimisation

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

Boripebe

XLDnaute Nouveau
Bonjour au forum et d'avance merci pour votre aide.

J'ai besoin de mettre en page les 19 premiers onglets de mon classeur de façon identique : en-tête, pied de page, marges, paysage ....

J'ai utilisé l'enregistreur de macro pour intégrer cette partie dans ma macro mais le temps d'exécution est très (très très) long. J'espère qu'il existe une solution pour améliorer "le rendement" de cette macro. J'ai passé pas mal de temps sur le forum sans trouver de réponse ... je sollicite maintenant votre aide.

Bien cordialement,


Sub Mise_en_page()
'
'=====================================
'7ème partie : Mise en page des onglets
'======================================

Nb = 1
Do
Sheets(Nb).Activate

With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = "&""Arial,Italique""&F \ &A"
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = "&P"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.393700787401575)
.BottomMargin = Application.InchesToPoints(0.393700787401575)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 10
.PrintErrors = xlPrintErrorsDisplayed
End With
Nb = Nb + 1
Loop Until Nb = 20

Sheets("Détail rejets").Range("A1").Select
End Sub
 
Re : Répéter la mise en page sur plusieurs feuilles : optimisation

Bonjour Boripebe,

Tout ce que je sais c'est qu'en faisant la mise en page par macro XL4 c'est beaucoup plus rapide, essaye de voir par là :

Mise en page avec les macros XL4 - - Forum des professionnels en informatique

edit : Sinon une autre piste : sélectionner toutes les feuilles concernées et faire la mise en page une bonne fois
 
Dernière édition:
Re : Répéter la mise en page sur plusieurs feuilles : optimisation

Bonjour totiti2008 et grand merci pour ta réponse rapide ... je vais regarder de plus près pour cette macro XL4. Je ne manquerai pas de faire un retour d'info sur ce forum si j'ai de bons résultats. Je suis actuellement avec la version Excel 2002 mais on doit passer fin 2012 à la version Office 2010 ... j'espère qu'il y aura des améliorations avec ce changement.
@+
 
Re : Répéter la mise en page sur plusieurs feuilles : optimisation

oui, j'ai essayé aussi cette possibilité avec

Sheets(Array("Client1", "Client2", ...."Client 18", "Détail rejets tous flux")).Select ...

Je n'ai pas trouvé cela plus performant et en plus seul mon premier onglet était mis en page ... pourquoi ... je n'ai pas trouvé
 
- 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
163
Réponses
0
Affichages
1 K
Retour