Macro vba sauvegarder en PDF

Bonjour,

Je suis novice en VBA et je galère depuis 2 jours sur une macro qui devrait être assez simple. J'ai une facture sous excel et je souhaite la sauvegarder en pdf dans un autre dossier. voici ce que j'ai écrit :
"
Sub PDF()

Dim Chemin As String, NomFichier As String
NomFichier = Range("D21") & ".pdf"
'NomFichier = ActiveSheet.Range("D21") & ".pdf"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ' Clic sur Ok
Chemin = "C:\Users\MBH\Desktop\PCAvoriaz2021\Compta2021\factureséditées\"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier,_
Quality:=xlQualityStandard,_
IncludeDocProperties:=True,_
IgnorePrintAreas:=False,_
OpenAfterPublish:=True

End Sub

J'ai consulté plein de forum sans trouver d'ou vient mon ou es errueur
Merci de votre aide
Anne

Configuration: Windows / Chrome 88.0.4324.190

6 réponses

  1. Contributeur
    Bonjour,

    comme ceci:

    Option Explicit
    Sub PDF()
    Dim Chemin As String, NomFichier As String
    NomFichier = Range("D21") & ".pdf"
    With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then ' Clic sur Ok
    Chemin = "C:\Users\MBH\Desktop\PCAvoriaz2021\Compta2021\factureséditées\"
    End If
    End With
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier, _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True
    End Sub
    


    0
    1. Bonjour
      Merci de votre réponse mais cela ne fonctionne pas. La facture ne va pas automatiquement dans le bon dossier puis j'ai un message d'erreur .
      toute cette partie apparait en jaune :
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier, _
      Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, _
      OpenAfterPublish:=True
      0
      1. Contributeur
        et comme cela?

        Sub PDF()
        Dim Chemin As String, NomFichier As String
        NomFichier = Range("D21") & ".pdf"
        Chemin = "C:\Users\MBH\Desktop\PCAvoriaz2021\Compta2021\factureséditées\"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
        End Sub


        @+ Le Pivert
        0
    2. non toujours pas. j'ai un message d'erreur 1004 et c'est toujours en jaune.
      0
      1. Contributeur
        Changer

        NomFichier = Range("D21") & ".pdf"


        par

        NomFichier = ActiveSheet.Range("D21") & ".pdf"


        sinon:

        NomFichier = "Essai.pdf"
        0
    3. Pas de changement. Toujours erreur 1004.
      0
      1. Contributeur
        Quelle version d'Excel?

        Essayer pour voir si le chemin complet est correct:

        NomFichier = Range("D21") & ".pdf"
        Chemin = "C:\Users\MBH\Desktop\PCAvoriaz2021\Compta2021\factureséditées\"
        MsgBox  Chemin & NomFichier
        0
    4. J'ai essayé le chemin a l'air d'être ok. En fait je travaille chez moi avec une version récente d'excel et le chemin est simplifié mais au boulot j'ai une version bcp plus ancienne avec un chemin plus long (celui de mon exemple précédemment décrit).
      ma macro ne fonctionne pas chez moi. demain je fais un essai au travail. Merci de votre aide
      0
      1. Bonjour,
        J'ai trouvé ce qui clochait : c'était le nom de mon fichier "factures éditées" que j'ai transformé en "Factures PDF" et tout fonctionne !
        Merci de votre aide et de votre temps.
        0