Macro vba sauvegarder en PDF

Fermé
Avorainne - 3 mars 2021 à 09:35
 avorainne - 4 mars 2021 à 16:23
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
A voir également:

6 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
3 mars 2021 à 11:17
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
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
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
3 mars 2021 à 16:07
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
non toujours pas. j'ai un message d'erreur 1004 et c'est toujours en jaune.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 3 mars 2021 à 16:53
Changer

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


par

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


sinon:

NomFichier = "Essai.pdf"
0
Pas de changement. Toujours erreur 1004.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
3 mars 2021 à 18:15
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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