Réduire temps macro zoom

Brigitte

XLDnaute Barbatruc
Bonjour tout le monde,

J'ai besoin d'une tite macro pour remettre mon impression à xx % avant d'imprimer... En effet, une précédente macro (que j'utilise en alternance), masque certaines colonnes et zoome un peu plus (85 %) avant impression.

Lorsque je réaffiche tout, j'ai donc besoin de réduire à nouveau à 65 %/

La macro donnée par l'enregistreur donne ceci :

Code:
Sub Affichage()
'
' Affichage Macro
' Macro enregistrée le 14/03/2012 par AADDI009
'
'
    Columns("D:O").Select
    Selection.EntireColumn.Hidden = False
    Range("A1:Y36").Select
    Range("Y36").Activate
    ActiveWindow.SmallScroll Down:=0
    ActiveSheet.PageSetup.PrintArea = "$A$1:$Y$36"
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = "&12TAUX DE REALISATION&11 &A"
        .RightHeader = ""
        .LeftFooter = "&8&Z&F" & Chr(10) & "&D"
        .CenterFooter = "&8&P/&N"
        .RightFooter = "&G"
        .LeftMargin = Application.InchesToPoints(0.118110236220472)
        .RightMargin = Application.InchesToPoints(0.118110236220472)
        .TopMargin = Application.InchesToPoints(0.354330708661417)
        .BottomMargin = Application.InchesToPoints(0.551181102362205)
        .HeaderMargin = Application.InchesToPoints(0.118110236220472)
        .FooterMargin = Application.InchesToPoints(0.118110236220472)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = True
        .CenterVertically = True
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .zoom = 65
        .PrintErrors = xlPrintErrorsDisplayed
    End With
    ActiveWindow.SelectedSheets.PrintPreview
End Sub

Le souci étant que telle qu'écrite... elle est super longue à exécuter, et j'ai essayé de supprimer des lignes, ca bugge.

Merci à vous.
 

Pièces jointes

  • reporting.xls
    34 KB · Affichages: 58
  • reporting.xls
    34 KB · Affichages: 61
  • reporting.xls
    34 KB · Affichages: 63

Brigitte

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Coucou Pierre,

Mon sauveur, devrais je dire... j'espérais bien que tu volerais à mon secours !

Ca m'a l'air impeccable... Je teste sous 2003 demain (là à la maison j'ai 2010, donc on sait jamais)... mais ca a l'air très bien, je n'aurais pas su quelles lignes de la macro automatique supprimer.

Merci et bises à toi et Dany.
 

CBernardT

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Bonjour Brigitte, pierrejean et le forum,

Un code qui n'ai que la simplification de ton enregistrement. Donc peu de changement !

Sub Affichage()
With Sheets("Feuil1")
.Columns("D:O").EntireColumn.Hidden = False
With .PageSetup
.PrintArea = "$A$1:$Y$36"
.LeftHeader = ""
.CenterHeader = "&12TAUX DE REALISATION&11 &A"
.RightHeader = ""
.LeftFooter = "&8&Z&F" & Chr(10) & "&D"
.CenterFooter = "&8&P/&N"
.RightFooter = "&G"
.LeftMargin = Application.InchesToPoints(0.12)
.RightMargin = Application.InchesToPoints(0.12)
.TopMargin = Application.InchesToPoints(0.35)
.BottomMargin = Application.InchesToPoints(0.55)
.HeaderMargin = Application.InchesToPoints(0.12)
.FooterMargin = Application.InchesToPoints(0.12)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
'.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 65
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveWindow.SelectedSheets.PrintPreview
' Ici la ligne d'impression de la feuille :
'.PrintOut Copies:=1, Collate:=True
End With
End Sub
 

Brigitte

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Bonjour Bernard,

Et tu sais si c'est plus rapide ainsi ? Car il me semble qu'il subsiste bcp de lignes, donc le risque demeure !
Je pense que je vais prendre la solution de Pierre qui supprime des lignes, j'ai testé (à la maison), c'est déjà bien mieux que mon fichier d'origine.
Merci en tout cas.
 

JCGL

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Bonjour à tous,
Salut T'ites Couettes,
Salut PJ,
Salut Bernard,

Peux-tu essayer dans le module standard :

VB:
Sub Reporting()
    Application.ScreenUpdating = 0
    Columns("E:G").EntireColumn.Hidden = True
    With ActiveSheet.PageSetup
        .PrintArea = "$A$1:$L$27"
        .Orientation = xlPortrait
        .Zoom = 80
    End With
    ActiveWindow.SelectedSheets.PrintPreview
End Sub


Sub Affichage()
    Application.ScreenUpdating = 0
    Columns("C:K").EntireColumn.Hidden = False
    With ActiveSheet.PageSetup
        .PrintArea = "$A$1:$L$27"
        .Orientation = xlPortrait
        .Zoom = 60
    End With
    ActiveWindow.SelectedSheets.PrintPreview
End Sub

Bises à T'ites Couettes et Mamie Verveine
A++
A + à tous
 

Brigitte

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Bonjour tout le monde, Pierre, Bernard, Jean Claude,

Ouahou, j'arrive au boulot, me prépare à faire les modifs de Pierre et voilà que JC m'a posté un truc qui marche encore mieux... Génial, merci tout plein, JC... Bisous bisous à tous... J'adopte !!!

En plus, tu serais fier de moi, j'ai même su adapter : changer les plages (l'exploit, hein !) et mettre en paysage (landscape)... y a de l'espoir...
 

Brigitte

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Bonjour Kiki,

Le souci est qu'à mon bureau, j'ai seulement office 2003. Je ne peux dans mon profil renseigner les deux... Mais je l'ai noté en postant cette discussion. Merci à toi, mais la proposition de JC que j'ai adaptée encore depuis... (je cache aussi des lignes) marche très très bien.

Bonne journée.
 

Brigitte

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Rebonjour kiki,

J'avais probablement mal lu ton pour Office <= 2007 (j'avais cru lire pour "à partir de" Office 2007), mais ceci étant, vu mon niveau, je suis allée sur ton lien et je n'y comprends que couic...
Si tu as 5 mn je veux bien que tu m'expliques ce que je peux faire pour faire plus vite encore. Mais vraiment ca va déjà fort bien et depuis mon post de remerciement, j'ai dû rajouter du masquage de lignes (mon chef veut extraire trois fois rien d'un tableau que je tiens et ce régulièrement d'où mon besoin de tite macro), ce qui a malheureusement ralenti un ti peu le processus... mais ca tient la route..

Merci à toi aussi.
 

kiki29

XLDnaute Barbatruc
Re : Réduire temps macro zoom

Re,vite fait
Ici une page A4 en Portrait Zoom 150% centrée verticalement et Horizontalement avec Marges de 0.5
Code:
Application.ExecuteExcel4Macro "PAGE.SETUP(,,0.1968,0.1968,0.1968,0.1968,,,TRUE,TRUE,1,9,150,,,,,,,FALSE,FALSE)"
 

Discussions similaires

Statistiques des forums

Discussions
312 964
Messages
2 094 016
Membres
105 914
dernier inscrit
QT007