Print PDF - bug lors de l'application de la mise en page
Bonjour la communauté !
J'ai un souci lorsque j'applique les paramètres de mise en page.
en pas-à-pas, ça fonctionne bien. (.FitToPagesWide; .Orientation;...) quand je lance par le bouton, ça plante.
Le fichier qui s'ouvre est sans mise en page.
En PJ, le code qui me pose souci.
(Ne vous étonnez pas de la création d'une nouvelle sheet. Le code est une épure d'un autre code plus complet où je copie les valeurs nécessaires vers une nouvelle sheet pour la supprimer en fin de routine.)
Je me doute qu'en appliquant la mise en page sur la sheet source, ça se reporte sur la copie. Mais ça, je ne peux pas dans mon fichier complet.
merci du coup de main !
Bonjour Salmanasard
Problème peut-être lié à la coupure de communication avec l'imprimante et non rétabli
Sub Mail_Or_Print()
ActiveSheet.Copy Sheets(Sheets.Count)
Application.PrintCommunication = False
With ActiveSheet
.PageSetup.PrintArea = Range("A2").CurrentRegion.Address
With .PageSetup
.FitToPagesWide = 1
.Orientation = 2
.PrintTitleRows = "$1:$2"
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.8)
.BottomMargin = Application.InchesToPoints(0.8)
.HeaderMargin = Application.InchesToPoints(0.32)
.FooterMargin = Application.InchesToPoints(0.32)
.CenterHorizontally = True
.FitToPagesTall = False
End With
' Réactiver l'imprimante
Application.PrintCommunication = True
' Exporter en PDF
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.FullName & Replace(Time, ":", "-"), Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End SubJ'ai testé, même sans cela semble pourtant fonctionner
A+
Merci pour ta participation.
Mais ça n'a pas fonctionné pour moi :) Je ne m'explique pas vraiment pourquoi.
Je suis arrivé apparemment à mes fins en supprimant les "Application.InchesToPoints(0.32)"
j'avais remarqué que ça ralentissait un peu à ce moment. En les enlevant et en mettant directement la valeur en points, ça passe !
Les mystères de la "logique" !
merci du coup de main !