Code VBA pour un enregistrement de fichier en pdf

Bonjour tout le monde,

Je suis actuellement en train de créer plusieurs classeurs excel pouvant me simplifier la vie. Je suis donc depuis 2 jours en train de commencer a faire joujou avec VBA, mais ce soir, les quelques larmes qui me restaient sont partis.

Je cherche à enregistrer ma facture que j'ai crée sur une feuille excel dans un dossier de facturation, et je cherche en même temps à pouvoir l'exporter en PDF en cliquant sur un bouton et à intituler cette facture avec le numéro de facture. Cependant, en ayant suivis plusieurs vidéo tuto sur le net, mon macro ne fonctionne pas et me mets tout le temps des "erreur de compilation". je ne comprends pas quelqu'un pourrait m'aider?

capture

Voici le code, le numéro de facture se trouve dans la case J4 sur ma feuille et je n'arrive a rien, je vous appelle au secours.

Sub ExportenPDF()
NomDossier = Application.InputBox("Nom du dossier", "Création du dossier", "Entrer le nom du dossier")
Chemin = "C:\Users\melvi\OneDrive\Bureau\" & NomDossier & "\"

On Error Resume Next

Dossierexistant = GetAttr(dossier) And vbDirectory

If Dossierexistant = False Then
    MkDir (Chemin)
End If

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=
        "C:\Users\melvi\OneDrive\Bureau\Factures\model facture 3.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False

MsgBox ("Le PDF à été crée")

End Sub

Je sais que après le Filename:= je dois rajouter ce code la mais ca bloque:

Filename:=Chemin & Range("J4").value & (".pdf"), _

merci d'avance et bonne soirée

(P.S. si vous pouvez aussi m'expliquer peut-être pourquoi on doit mettre ce := et , _ ca m'intéresserais bien, Merci :P)

Bonjour AgTech,

Note : modification ci-contre ...

Le chemin est sur OneDrive ... pour pouvoir créer des dossiers au besoin ... il faut donc FileDialog ...

    'ouverture d'un fichier par boite FileDialog
'********************************************************************************
    'Declaration d'une variable comme objet FileDialog
    Dim fd As FileDialog

    'Creation d'un objet FileDialog comme un File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)

On en discute ici ou là-bas ... je ne sais trop ...

https://forum.excel-pratique.com/excel/code-vba-probleme-174806/2#p1085530

ric

Bonsoir le forum

Bonsoir AgTech, ric

A tester :

Option Explicit

Sub EnregistrerPDF()
Dim nompdf As String

  nompdf = "C:\Users\melvi\OneDrive\Bureau\" & Range("J4") & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Hello,

désolé weekend un peu chargé,

merci bcp de votre aide je vais essayer et je reviendrais vers vous en cas de besoin,

Bonne soirée, AgTech

Rechercher des sujets similaires à "code vba enregistrement fichier pdf"