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

Signaler
Messages postés
13
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
20 février 2020
-
Messages postés
13
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
20 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
1274
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 avril 2020
48
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
13
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
20 février 2020

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

Bonjour, après plusieurs essais, je n'arrive pas à inclure la macro.
Messages postés
14001
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2021
788
bonjour, peux-tu partager ce que tu as essayé, et décrire pourquoi cela ne convenait pas?
Messages postés
13
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
20 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.
Messages postés
14001
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2021
788
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
13
Date d'inscription
mardi 28 janvier 2020
Statut
Membre
Dernière intervention
20 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.