Exporter une zone de feuille en pdf

Bonjour à tous,

Comment exporter une zone spécifique au format PDF, et si elle s’étend sur deux pages, comment l’ajuster sur une seule page PDF ?

Merci d’avance

Bonjour,

Avec un code Vba cela es possible.

Malheureusement dans fichier …

Trés bonne journée
Johnny

1 « J'aime »

Comme dit @Johnny , un fichier nous aidera bien.
On peut aussi l’forcer (sans macro) dans les paramètres d’impression mais cela peut réduire la taille des caractères.

Bonsoir Johnny, Jacquinot,

Étant donné que la feuille contient de nombreux tableaux et graphiques, je souhaite sélectionner un tableau spécifique et son graphique à exporter vers un fichier PDF.

PDF_zone.xlsm (18,2 Ko)

Merci d’avance.

bonjour le fil,
un essai


Sub Imprimer1()                              'chaque plage a sa propre macro avec les 2 paramètres spécifiques.
     Exporter_PDF 1, "Graphique1"
End Sub

Sub Imprimer2()
     Exporter_PDF 2, "graphique 2"
End Sub

Sub Imprimer3()
     Exporter_PDF 3, "graphique3"
End Sub

Sub Exporter_PDF(Numéro, NomPDF As String)   'macro commune avec 2 paramètres, le numéro et le nom du pdf
     With Sheets("feuil1")                   'dans cette feuille
          With .PageSetup
               Select Case Numéro            'selon ce numéro, on choisit une plage
                    Case 1: .PrintArea = "C4:AF34"
                    Case 2: .PrintArea = "C40:AF74"
                    Case 3: .PrintArea = "C140:AF174"
                    Case Else: MsgBox "erreur": Exit Sub
               End Select

               .Orientation = xlLandscape
               .LeftMargin = Application.InchesToPoints(0.25)
               .RightMargin = Application.InchesToPoints(0.25)
               .TopMargin = Application.InchesToPoints(0.75)
               .BottomMargin = Application.InchesToPoints(0.75)
               .HeaderMargin = Application.InchesToPoints(0.3)
               .FooterMargin = Application.InchesToPoints(0.3)
               .CenterHorizontally = True
               .CenterVertically = False
               .Orientation = xlLandscape

               .Zoom = False
               .FitToPagesWide = 1
               .FitToPagesTall = 1
          End With
          .PrintPreview
          .ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & NomPDF, OpenAfterPublish:=True
     End With
End Sub

PDF_zone.xlsm (33,1 Ko)

1 « J'aime »

Bonjour Cow18,

Merci pour votre aide.

J’ai deux questions :

  1. Comment identifier automatiquement les plages et les graphiques à convertir en PDF ?
  2. Comment gérer un tableau qui s’étend sur plusieurs pages, soit verticalement ou horizontalement ?

Merci d’avance.

si ce sont des tableaux structurés, on peut les sélectionner automatiquement mais je ne sais pas quelle graphique appartient à quel tableau, donc j’ai des douts avec automatiquement
Avec « zoom » et "FitToPage…=1 ", on sait réducer le nombre de pages, mais une solution qui fonctionne pour 100% des cas … ?

Peut-être attribuer un identifiant commun aux graphiques et plages lors de leur création pour faciliter leur identification ?

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.