Problème définition d’une zone d’impression

Signaler
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020
-
Christophe78129
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020
-
Bonjour à toutes et tous,

J’ai un tableau que je voudrai imprimer mais j’ai un souci pour la mise en page.
Après avoir défini les marges, impression sur chaque page des 5 premières lignes, impression jusqu’à la dernière ligne remplie, je voudrai qu’il m’imprime que 28 lignes par pages, mais je ne sais pas comment faire, car il imprime toujours sur 1 seule feuille.
Si quelqu’un à une idée.
Merci

Private Sub Impression_A4_Click()

Dim DerLig As Long

'Impression au format A4

Set aff = Sheets("affectation")

With aff

   DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row

          With .PageSetup

                  .PrintTitleRows = "$A$1:$F$5"				'Copie 5 lignes sur chaque page
                  .PrintArea = "A1:F" & DerLig				‘Impression jusqu’à dernière ligne
                  .PaperSize = xlPaperA4					'Format A4
                  .Orientation = xlPortrait					'Impression portrait
                  .LeftMargin = Application.InchesToPoints(0.25)		'définition des marges
                  .RightMargin = Application.InchesToPoints(0.25)
                  .TopMargin = Application.InchesToPoints(0.25)
                  .BottomMargin = Application.InchesToPoints(0.25)
                  .Zoom = False
                  .FitToPagesWide = 1					'adaptation largeur feuille

         End With

       .PrintPreview

End With

End Sub





Configuration: Windows / Firefox 72.0

5 réponses

Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
2 février 2020
44
Bonjour,
Je pense qu'il faille faire un saut de page.
regarde ici: https://forum.excel-pratique.com/viewtopic.php?t=7253
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020

Bonjour mod77,
je vais essayer de l'adapter à ma macro.
Merci
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020

Bonjour, après plusieurs essais, je n'arrive pas à inclure la macro.
yg_be
Messages postés
9618
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 février 2020
526
bonjour, peux-tu partager ce que tu as essayé, et décrire pourquoi cela ne convenait pas?
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020

Bonjour,
J'ai essayer d'inclure la macro suivante :

ActiveSheet.DisplayAutomaticPageBreaks = False     'Suppression des sauts de page

For i = 28To 100 Step 28 'Saut de page après 28 lignes
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=Rows(i + 1)
Next i


Mais je ne sais où l'inclure dans ma macro.
yg_be
Messages postés
9618
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 février 2020
526
peut-être ainsi:
Option Explicit

Private Sub Impression_A4_Click()
Dim DerLig As Long, i As Long, aff As Worksheet
'Impression au format A4
Set aff = Sheets("affectation")
With aff
    DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
    .DisplayAutomaticPageBreaks = False
    For i = 28 To DerLig Step 23 'Saut de page après 28 lignes
        .HPageBreaks.Add before:=Rows(i + 1)
    Next i
    With .PageSetup
                  .PrintTitleRows = "$A$1:$F$5"             'Copie 5 lignes sur chaque page
                  .PrintArea = "A1:F" & DerLig              'Impression jusqu’à dernière ligne
                  .PaperSize = xlPaperA4                    'Format A4
                  .Orientation = xlPortrait                 'Impression portrait
                  .LeftMargin = Application.InchesToPoints(0.25)        'définition des marges
                  .RightMargin = Application.InchesToPoints(0.25)
                  .TopMargin = Application.InchesToPoints(0.25)
                  .BottomMargin = Application.InchesToPoints(0.25)
                  .Zoom = False
                  .FitToPagesWide = 1                   'adaptation largeur feuille
         End With
       .PrintPreview
End With
End Sub
Messages postés
11
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
9 février 2020

Bonjour yg_be,
J'ai essayer la solution proposée, mais il imprime toute la feuille sur une seule page.
Merci quand même.