XL 2016 impression automatique d'une zone de sélection

guillaumewimat

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec des colonnes correspondant aux semaines (de H3 à BG3). J'ai 50 lignes. Je souhaiterais imprimer seulement 5 colonnes, plus les 7 premières colonnes sur lesquelles j'ai mes informations importantes. Les colonnes que je souhaite imprimer sont les 2 semaines précédentes et les 2 suivantes, plus la semaine actuelle. Le N° de ma semaine actuelle est en A1.
Comment puis je faire pour imprimer, en appuyant simplement sur 1 bouton, les colonnes de A à G puis de J à N si nous sommes en semaines 5 (semaine 5 en colonne L). Je souhaite imprimer les 50 lignes.
Quelle macro dois je faire?
Mon fichier en PJ pour une meilleure compréhension.
 

Pièces jointes

  • semaine tonte.xlsx
    31.9 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonsoir guillaumewimat, bienvenue sur XLD,

Voyez le fichier joint et cette macro dans Module1 (Alt+F11) :
VB:
Sub Imprimer()
Dim col As Variant, coldeb%, colfin%
With ActiveSheet
    With .PageSetup
        .PrintTitleColumns = "$A:$G" 'colonnes à répéter à gauche
        col = Application.Match([A1], Cells(3, "H").Resize(, Columns.Count - 7), 0)
        If IsError(col) Then Exit Sub
        col = col + 7
        coldeb = col - 2
        If coldeb < 8 Then coldeb = 8
        colfin = col + 2
        If Cells(3, colfin) = "" Then colfin = colfin - 1
        If Cells(3, colfin) = "" Then colfin = colfin - 1
        .PrintArea = Range(Columns(coldeb), Columns(colfin)).Address 'zone d'impression
        .Zoom = False 'indispensable
        .FitToPagesWide = 1 '1 page en largeur
        .FitToPagesTall = 1 '1 page en hauteur
        .Orientation = xlLandscape 'Paysage
    End With
    .PrintPreview 'pour tester
    '.PrintOut 'pour imprimer ôter l'apostrophe
End With
End Sub
A+
 

Pièces jointes

  • semaine tonte(1).xlsm
    40.4 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat