Impression paysage

Bonjour à tous,

J'ai testé tout ce que je pouvais et tout ce que j'ai pu trouvé mais rien n'y fait, je ne trouve pas le moyen de faire une impression PDF en paysage sur une sélection de cellules.

Est-ce que quelqu'un aurait une solution à mon problème?

Voici le code :

Sub Imp_pdf()

nbinf = Cells(1, 3).Value 'récupération d'une valeur

Cells(200, 200).FormulaLocal = "=adresse(65;" & (2 * nbinf) + 6 & ")"     

refcol = Cells(200, 200).Value      'j'affecte la valeur pour pouvoir l'utiliser
    Range("E2:" & refcol & "").Select          ' 'je définis ma plage de cellules à sélectionner

    With ActiveSheet.PageSetup
     .Orientation = xlLandscape
    End With

    With ActiveSheet

       Fichier = .Name & ".pdf"
            .ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=Fichier, _
            Quality:=xlQualityMinimum, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

    End With

End Sub

Un tout grand merci d'avance

Bonjour, Finplein

Un code qui fonctionne bien chez moi et qui donne un aperçu avant impression au format paysage

[code=vb]Private Sub CmbImprimer_Click()
Dim Ws As Worksheet

  ' Copie d'écran de la forme active
  keybd_event vbKeySnapshot, 1, 0&, 0&
  ' désactive le rafraichissement de l'écran
  Application.ScreenUpdating = False
  Application.Wait Now + TimeValue("0:00:02")
  DoEvents

  Me.Hide

  ' Ajoute une feuille pour coller l'image de la forme
  'Set Ws = Sheets.Add
  ' renomme la feuille
  With Sheets.Add
    '.Name = "imprim"
    .Paste
    Application.PrintCommunication = False
    With .PageSetup
      ' En mode paysage
      .Orientation = xlLandscape
      ' impression centrée dans la page
      .CenterHorizontally = True
      .CenterVertically = True
      .Zoom = False
      .FitToPagesWide = 1
      .FitToPagesTall = False
      .LeftMargin = Application.InchesToPoints(0)
      .RightMargin = Application.InchesToPoints(0)
      .TopMargin = Application.InchesToPoints(0)
      .BottomMargin = Application.InchesToPoints(0)
    End With
    Application.PrintCommunication = True
    '.PrintOut
    .PrintPreview

    ' enléve les messages d'alerte
    Application.DisplayAlerts = False
    .Delete
    'remet les messages d'alerte
    Application.DisplayAlerts = True
  End With
  ' réactive le rafraichissement de l'écran
   Application.ScreenUpdating = True

  Me.Show
 

End Sub

[/code]

Amicalement

Pierrot

Merci Pierrot !

Je regarderai ça attentivement ...

Etrangement, j'ai quitté Excel et l'ai relancé et maintenant j'ai bien des impressions paysage...

Rechercher des sujets similaires à "impression paysage"