Enregistrer graphique au format PDF en orientation paysage
Bonjour le Forum,
Je bloque pour enregistrer mon graphique en PDF en mode paysage.
J'ai trouvé le code suivant qui permet d'imprimer mon graphique (avec imprimante par défaut) :
Sub Imprim_Graph()
Feuil1.ChartObjects("Graphique 1").Chart.PrintOut
End Sub
Mais moi j'aurai souhaité l'enregistrer au format PDF sur le bureau par exemple et en mode paysage.
Une idée de code ou piste à suivre?
Un grand merci par avance.
Bonjour,
ajoute cette ligne en début de macro,
Feuil1.PageSetup.Orientation = xlLandscape
Bonjour i20100,
Merci pour le retour.
J'ai continué de chercher et j'ai réussi à enregistrer mon graphique au format PDF dans le même répertoire que le fichier EXCEL.
Pour cela, j'ai utilisé le code suivant :
Sub Enregistrer_PDF() 'Timeline
Dim repertoire, fichier As String
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveSheet.PageSetup.Orientation = xlLandscape
repertoire = ThisWorkbook.Path & "\" 'répertoire à adapter
fichier = [D1] & " TimeLine - Les étapes de votre acquisition.pdf" 'Nom du fichier
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
repertoire & fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox ("Le fichier a été exporté avec succès")
End Sub
J'ai bien mis la ligne
ActiveSheet.PageSetup.Orientation = xlLandscape
qui est censé mettre mon pdf en mode "paysage" mais pourtant celui continu de rester en mode "portrait" et je ne comprends pas pourquoi ??
Est-ce quelqu'un aurait une réponse à m'apporter??
De plus, quelle ligne dois-je ajouter à mon code pour proposer à l'utilisateur de choisir ou enregistrer son PDF? ( à la place de la ligne "repertoire = ThisWorkbook.Path & "\" )
Merci d'avance à tous pour vos réponses ...
De plus, quelle ligne dois-je ajouter à mon code pour proposer à l'utilisateur de choisir ou enregistrer son PDF? ( à la place de la ligne "repertoire = ThisWorkbook.Path & "\" )
pour le choix du répertoire,
Set FD = Application.FileDialog(msoFileDialogFolderPicker)
With FD
.AllowMultiSelect = False
.Show
oFolder = .SelectedItems(1)
MsgBox oFolder 'pour le test répertoire choisi
End With
pour le format paysage, je ne comprend pas pourquoi cela ne fonctionne pas.
c'est peut être du au logiciel pdf
utilisé ?
Bonjour i20100,
Encore un grand merci pour le retour
Concernant la mise en page au format "paysage", j'ai continuer de creuser et réussi à obtenir quelque chose qui fonctionne.
Je mets le code en exemple si cela peut servir pour quelqu'un d'autre ^^
Sub Enregistrer_PDF() 'Timeline
Dim repertoire, fichier As String
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.PlotArea.Select
Application.PrintCommunication = False
With ActiveChart.PageSetup
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(1.315)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.ChartSize = xlScreenSize
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
End With
repertoire = ThisWorkbook.Path & "\" 'répertoire à adapter
fichier = [D1] & " TimeLine - Les étapes de votre acquisition.pdf" 'Nom du fichier
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
repertoire & fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox ("Le fichier a été exporté avec succès")
End Sub
Bonne journée à tous.
Je clôture le sujet !