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

Fermé
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020 - 2 févr. 2020 à 07:07
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020 - 3 févr. 2020 à 05:14
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

mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
2 févr. 2020 à 07:23
Bonjour,
Je pense qu'il faille faire un saut de page.
regarde ici: https://forum.excel-pratique.com/viewtopic.php?t=7253
1
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020
2 févr. 2020 à 09:42
Bonjour mod77,
je vais essayer de l'adapter à ma macro.
Merci
0
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020
2 févr. 2020 à 14:38
Bonjour, après plusieurs essais, je n'arrive pas à inclure la macro.
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
2 févr. 2020 à 19:14
bonjour, peux-tu partager ce que tu as essayé, et décrire pourquoi cela ne convenait pas?
0
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020
2 févr. 2020 à 19:38
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.
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
2 févr. 2020 à 19:57
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Christophe78129 Messages postés 13 Date d'inscription mardi 28 janvier 2020 Statut Membre Dernière intervention 20 février 2020
3 févr. 2020 à 05:14
Bonjour yg_be,
J'ai essayer la solution proposée, mais il imprime toute la feuille sur une seule page.
Merci quand même.
0