Private Sub Imprimer_Click()
Dim n As Integer
Application.ScreenUpdating = False
Rows().Hidden = False
Columns().Hidden = False ' affiche toutes les colonnes
Range("A:A, C:J, P:Q, S:S, U:W").EntireColumn.Hidden = True ' masque colonnes A et C
PrinterDefault = ActivePrinter 'mémorise l'imprimante par défaut
MyDate = Format(Date, "dd-mm-yy") 'défini le format de la date
With ActiveSheet.PageSetup ' mise en page
.CenterHorizontally = True 'centre l'impression sur la feuille
.Orientation = xlLandscape ' format paysage
.Zoom = False
.FitToPagesWide = 1 ' agrandissement 100% largeur
.FitToPagesTall = 1 ' agrandissement 100% hauteur
End With
ActiveSheet.PageSetup.PrintArea = "" ' mise en page en-tête
With ActiveSheet.PageSetup
.RightHeader = "&""Arial,Gras""&11Commande du " & MyDate ' écrit : "commande du + date du jour" en en-tête de la feuille
End With
'on active le filtre sur la colonne 20
Cells(1, 20).AutoFilter
'on filtre les lignes qui on : A commander
Cells.AutoFilter Field:=1, Criteria1:="A commander"
ActiveSheet.Range("A2:T450").PrintOut , ActivePrinter:="Microsoft office document image writer" ' prend en compte les colonne A2 à I150 et imprime sur une imprimante défénie
Cells(1, 20).AutoFilter ' affiche toutes les lignes
Range("A:W").EntireColumn.Hidden = False 'affiche colonne A à W
Range("A1").Select 'selectionne la cellule A1 pour afficher correctement le tableau
Application.ActivePrinter = PrinterDefault 'remet l'imprimante du départ
Application.ScreenUpdating = True
End Sub