VBA - Imprimer un graph croisé dynamique en paysage

Bonjour le forum.

Ça fait un bail que j'étais pas venu demander de l'aide

Voilà le topo : j'ai un graphique croisé dynamique que je souhaite imprimer en paysage et en pleine page. Évidemment, je veux faire ça via un pressbutton, donc VBA oblige

Voici le code, je me retrouve toujours avec le graph en mode portrait perdu au milieu de la feuille.

Sub print_graph_A4()

    With ThisWorkbook.Sheets("Graph").ChartObjects("GraphCroisDyn").Chart.PageSetup
            .Orientation = xlLandscape
            .Draft = False
            .BlackAndWhite = False
            .CenterVertically = True
            .CenterHorizontally = True
            .FitToPagesWide = 1
            .FitToPagesTall = 1
    End With
    ThisWorkbook.Sheets("Graph").ChartObjects("GraphCroisDyn").Chart.PrintPreview 'Là c'est pour ne pas gâcher d'encre pendant mes essais. Sinon, c'est bien évidemment PrintOut.
End Sub

Donc bon, manifestement il se fiche pas mal de mon PageSetup

Ai-je un soucis de syntaxe ?

Bonjour,

Un début de réponse à tester et adapter.

Cdlt

Dim objChart As ChartObject
Set objChart = Worksheets(1).ChartObjects(1)
With objChart
    .Activate
    .Chart.PageSetup.Orientation = xllansscape
    .Chart.PrintPreview
End With

Bien vu ! C'était sans doute le fait de ne pas Activer le graph qui faisait perdre les options.

Merci

Re,

Merci et à bientôt.

Rechercher des sujets similaires à "vba imprimer graph croise dynamique paysage"