XL 2021 Créer un pdf en deux pages pour 2 plages d'une même feuille

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous :)

Je n'arrive pas à sortir mon pdf comme je le voudrais Grrrr ! :mad:

Est-il possible de Créer un pdf en deux pages pour 2 plages d'une même feuille ?
Exemple :
1683128919006.png

Dans ma feuille, j'aimerais :
- une plage : "a1:ag60" sur la page 1 du pdf,
- une plage : "a61:fin de page" sur la page 2 du pdf,

J'ai pas réussi et toutes les recherches que j'ai faites ne m'ont pas permis de trouver le bon code.

Auriez-vous le bon code ?
Je joins un petit fichier test...

Grand merci à toutes et à tous,
Je continue mes recherches...
:)
 

Pièces jointes

  • Réseaux factures mois test PDF.xlsm
    79.5 KB · Affichages: 4
Solution
Apparemment, il faut que les sauts de page soient affichés
VB:
Sub imprim_pdf()
    ActiveSheet.PageSetup.PrintArea = "$A:$AG"
    
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments...

vgendron

XLDnaute Barbatruc
Apparemment, il faut que les sauts de page soient affichés
VB:
Sub imprim_pdf()
    ActiveSheet.PageSetup.PrintArea = "$A:$AG"
    
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 2
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    ActiveWindow.View = xlPageBreakPreview
    ActiveSheet.ResetAllPageBreaks
    Set ActiveSheet.HPageBreaks(1).Location = Range("A62")
    ActiveSheet.HPageBreaks(2).DragOff Direction:=xlDown, RegionIndex:=1
    [A1].Select

    ChDir "C:\Users\lionel\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\lionel\Desktop\" & "isitel Fact._" & [x9] & " " & [u24] & "_" & Format(Date, "yyyy") & "_" & [ad54] & [v6] & ".PDF", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Apparemment, il faut que les sauts de page soient affichés
VB:
Sub imprim_pdf()
    ActiveSheet.PageSetup.PrintArea = "$A:$AG"
   
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 2
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    ActiveWindow.View = xlPageBreakPreview
    ActiveSheet.ResetAllPageBreaks
    Set ActiveSheet.HPageBreaks(1).Location = Range("A62")
    ActiveSheet.HPageBreaks(2).DragOff Direction:=xlDown, RegionIndex:=1
    [A1].Select

    ChDir "C:\Users\lionel\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\lionel\Desktop\" & "isitel Fact._" & [x9] & " " & [u24] & "_" & Format(Date, "yyyy") & "_" & [ad54] & [v6] & ".PDF", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
Grand merci à toi :)
Je n'aurais pas pu le faire...
:)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bjr :)
ça marche très bien comme ça :
VB:
Sub imprim_pdf()
    ActiveSheet.PageSetup.PrintArea = "$A:$AG"
   
    ActiveWindow.View = xlPageBreakPreview
    ActiveSheet.ResetAllPageBreaks
    Set ActiveSheet.HPageBreaks(1).Location = Range("A62")
    ActiveSheet.HPageBreaks(2).DragOff Direction:=xlDown, RegionIndex:=1
    [A1].Select

    ChDir "C:\Users\lionel\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\lionel\Desktop\" & "isitel Fact._" & [x9] & " " & [u24] & "_" & Format(Date, "yyyy") & "_" & [ad54] & [v6] & ".PDF", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
Et c'est bien plus rapide...
:)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bjr vgendron :), le Forum :)

Encore merci à toi, ton code fonctionne parfaitement....
Mais j'ai un souci dans mon fichier de travail que je ne comprendre pas et je n'arrive pas à solutionner.

Dans mon fichier, j'ai 3 feuilles pour lesquelles je sors le pdf.
C'est 3 feuilles sont identiques.
Pour les 2 premières feuilles, le PDF sors nickel et...
La troisième Niet de chez Niet, rien à faire.

Je ne suis aperçu en testant l'affichage que celui de la 3ème feuille n'est pas le même que celui des 2 autres :
1683211381838.png

Pour la 3ème, il semble que la colonne "AG" ne soit pas prise en compte et le PDF ne sort pas.
Je cherche quelle en est la raison....
Pourrais-tu m'aider encore un peu ?
Merci à toi :)
Je continue à chercher...
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 322
Membres
103 178
dernier inscrit
BERSEB50