Imprimer plusieurs feuilles d'un classeur en format PDF

Résolu
Remi2236 Messages postés 89 Statut Membre -  
Remi2236 Messages postés 89 Statut Membre -

Bonjour,

Je suis un noob en matière de VBA je préviens...

J'ai essayé de regarder sur des forum mais je ne comprends pas comment ça fonctionne.

J'ai un fichier Excel avec plusieurs feuilles et j'aimerais en imprimer certaines et le mettre sous format PDF.

De plus, j'aimerais que ça s'enregistre dans un fichier en particulier et que la date du jour AAAAMMJJ soit mise au début du nom du fichier.

J'ai essayé ça mais ça ne marche pas :

Private Sub CommandButton_ARCHIVAGE_Click()
Dim NomFichier As String
NomFichier = "yymmdd" & "_MATERIOVIGILANCE-MENSUELLE"

Sheets(Array("SALLE_BIOMETRIE", "SALLE_SOINS", "SALLE_URGENCE", "LOCAL_ALERTE", "LOCAL_TPU", "MASTER", "PHARMACIE")).Select
     ActiveSheet.ExportAsFixedFormat , Type:=xlTypePDF, Filename:="C:\Users\remi\Desktop" & NomFichier & ".pdf", OpenAfterPublish:=True
End Sub

Si quelqu'un pouvait m'aider à bien écrire ce code ce serait super sympa ;)

Cordialement,

Rémi

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     

    Bonjour,

    voici un exemple à adapter:

    Option Explicit
    Sub Creerpdf()
        Dim sRep As String
        Dim sFilename As String
        Dim Ws As Worksheet
     
    For Each Ws In Sheets(Array("Feuil1", "Feuil3")) 'adapter nom feuille
        Ws.Activate
        sRep = ThisWorkbook.Path & "\"
        sFilename = Format(Date, "d mmmm yyyy") & "_" & Ws.Name
        ActiveSheet.ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:=sRep & sFilename, _
                Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, _
                OpenAfterPublish:=False
    Next Ws
    MsgBox "Enregistrer en PDF dans le même dossier que ce classeur", vbInformation, "Enregistrement en PDF"
    End Sub
    

    1
  2. Remi2236 Messages postés 89 Statut Membre 1
     

    Bonjour,

    Merci pour votre réponse, ça marche impeccable ! Par contre, j'aurais aimé que l'ensemble des feuilles s'imprime sur le même PDF et non pas que ça imprime chaque feuille en séparée. Vous auriez une solution ?

    Cordialement,

    Rémi

    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       

      comme ceci:

      Sub Exporter_PDF()
       Dim sRep As String
       Dim sFilename As String
       sRep = ThisWorkbook.Path & "\"
      sFilename = Format(Date, "d mmmm yyyy") & "_monpdf.pdf"
      Sheets(Array("Feuil1", "Feuil3")).Select 'a adapter nom des feuilles
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
             sRep & sFilename, Quality:=xlQualityStandard, _
              IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
              True
      MsgBox "Enregistrer en PDF dans le même dossier que ce classeur", vbInformation, "Enregistrement en PDF"
      End Sub
      

      voilà

      1
      1. Remi2236 Messages postés 89 Statut Membre 1 > cs_Le Pivert Messages postés 8437 Statut Contributeur
         

        Bonjour,

        Je viens de tester, ça marche impeccable ! Merci beaucoup !

        Cordialement,

        Rémi

        1