Imprimer plusieurs feuilles d'un classeur en format PDF

Résolu/Fermé
Remi2236 Messages postés 83 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 29 novembre 2023 - 5 août 2022 à 11:05
Remi2236 Messages postés 83 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 29 novembre 2023 - 8 août 2022 à 08:06

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

A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
5 août 2022 à 11:45

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
Remi2236 Messages postés 83 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 29 novembre 2023 1
5 août 2022 à 12:09

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
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
5 août 2022 à 13:48

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
Remi2236 Messages postés 83 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 29 novembre 2023 1 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
8 août 2022 à 08:06

Bonjour,

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

Cordialement,

Rémi

1