Booster macro impression

T

totor

Guest
Bonjour le forum,

j'ai fait une macro pour imprimer plusieurs onglet d'un même fichier excel. Mon problème, elle est vrziment longure. Sauriez vous s'il existe un moyen de booster l'impression?

Merci à tous

Bonne journée

Victor

Ma macro :
Sub Impression_syntheses()
'
' Impression_syntheses Macro
'
'

'
Sheets('P&L YTD').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('P&L YTD 05').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('PAGE4').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$b$6:$N$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$Q$6:$AC$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$AF$6:$AR$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('PAGE4 05').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$b$6:$n$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$q$6:$ac$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$af$6:$ar$40'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('PAGE4B').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$b$4:$n$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$q$4:$ac$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$af$4:$ar$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('PAGE4C').Select
ActiveSheet.PageSetup.PrintArea = '$A$69:$n$79'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$b$4:$n$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$q$4:$ac$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$af$4:$ar$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$au$17:$bg$47'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$bj$17:$bv$47'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('PAGE4B qtr').Select
ActiveSheet.PageSetup.PrintArea = '$b$5:$n$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$q$5:$ac$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$af$5:$ar$39'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('DSO').Select
ActiveSheet.PageSetup.PrintArea = '$A$1:$i$20'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('Waterfall').Select
ActiveSheet.PageSetup.PrintArea = '$A$1:$k$50'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('ITO').Select
ActiveSheet.PageSetup.PrintArea = '$a$6:$i$30'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('ITOB').Select
ActiveSheet.PageSetup.PrintArea = '$a$6:$i$31'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$k$6:$s$31'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('DPO').Select
ActiveSheet.PageSetup.PrintArea = '$a$6:$i$25'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$a$34:$i$56'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.PageSetup.PrintArea = '$a$60:$i$82'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('HW').Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Sheets('Capexp05').Select
ActiveSheet.PageSetup.PrintArea = '$a$1:$W$21'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True


End Sub
 

Minick

XLDnaute Impliqué
Salut,

Vu le nombre de page à imprimer, cela semble plutot normale que ce soit long.

Combien de temps dure la procedure?
Y a t il beaucoup de formules temps de calcul quand tu fais [F9]?

Tu peux gagner un peu de temps en ne selectionnant pas les feuilles
et en figeant l'affichage...

Essai comme ca pour voir ce que cela donne:
Code:
Sub Impression_syntheses()
'
' Impression_syntheses Macro
'
'

'
    Application.ScreenUpdating = False
    
    Sheets('P&L YTD').PrintOut Copies:=1, Collate:=True
    Sheets('P&L YTD 05').PrintOut Copies:=1, Collate:=True
    
    With Sheets('PAGE4')
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$b$6:$N$40'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$Q$6:$AC$40'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$AF$6:$AR$40'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('PAGE4 05')
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$b$6:$n$40'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$q$6:$ac$40'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$af$6:$ar$40'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('PAGE4B')
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$b$4:$n$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$q$4:$ac$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$af$4:$ar$39'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('PAGE4C')
        .PageSetup.PrintArea = '$A$69:$n$79'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$b$4:$n$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$q$4:$ac$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$af$4:$ar$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$au$17:$bg$47'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$bj$17:$bv$47'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('PAGE4B qtr')
        .PageSetup.PrintArea = '$b$5:$n$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$q$5:$ac$39'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$af$5:$ar$39'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('DSO')
        .PageSetup.PrintArea = '$A$1:$i$20'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('Waterfall')
        .PageSetup.PrintArea = '$A$1:$k$50'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('ITO')
        .PageSetup.PrintArea = '$a$6:$i$30'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('ITOB')
        .PageSetup.PrintArea = '$a$6:$i$31'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$k$6:$s$31'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    With Sheets('DPO')
        .PageSetup.PrintArea = '$a$6:$i$25'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$a$34:$i$56'
        .PrintOut Copies:=1, Collate:=True
        .PageSetup.PrintArea = '$a$60:$i$82'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    Sheets('HW').PrintOut Copies:=1, Collate:=True
    
    With Sheets('Capexp05')
        .PageSetup.PrintArea = '$a$1:$W$21'
        .PrintOut Copies:=1, Collate:=True
    End With
    
    Application.ScreenUpdating = True
End Sub
@+
 

Discussions similaires

Réponses
4
Affichages
401

Statistiques des forums

Discussions
312 672
Messages
2 090 776
Membres
104 664
dernier inscrit
jth