re
perso je trouve que si l'on cherche un peu plus loin on trouve une solution pour le pdf (1 ou 2 pages) de la même manière que pour
ma version de l'impression
From:=1, To:=x
de cette manière
a° tu ne touche pas à ta mise en page
b° tu ne touche pas au printarea
te reste plus qu'a adapter le chemin de destination du pdf
'patricktoulon
Sub ImprimerVpat()
Dim x&, HPB, ligne&, i&
x = 1
With Sheets("Rapport")
.PageSetup.PrintArea = "A1:L150"
For i = 1 To .HPageBreaks.Count
ligne = .HPageBreaks(i).Location.Row
If .Cells(ligne, "F").Text <> "" Then x = x + 1
Next
.PrintOut From:=1, To:=x, Copies:=1, Collate:=True, IgnorePrintAreas:=False
.PrintPreview 'attention, le prview montre tous les pages, le printout imprime les premiers x
End With
End Sub
'patricktoulon
Sub regToPdf_Vpat()
Dim chemin$
chemin = ThisWorkbook.Path & "\monfichier.pdf"
Dim x&, HPB, ligne&, i&
x = 1
With Sheets("Rapport")
.PageSetup.PrintArea = "A1:L150"
For i = 1 To .HPageBreaks.Count
ligne = .HPageBreaks(i).Location.Row
If .Cells(ligne, "F").Text <> "" Then x = x + 1
Next
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=x, OpenAfterPublish:=False
End With
End Sub
c'est bien quand les choses sont simple
ca devient plus facile