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

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
 

tototiti2008

XLDnaute Barbatruc
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:

Boripebe

XLDnaute Nouveau
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.
@+
 

Boripebe

XLDnaute Nouveau
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é
 

Discussions similaires

Statistiques des forums

Discussions
312 443
Messages
2 088 473
Membres
103 863
dernier inscrit
OUIDDIR