Aide chemin d'enregistrement pdf

Bonjour le Forum,

Je suis un Bleu en Vba et je suis là pour apprendre, j'ai un code qui crée un fichier pdf de la feuille excel active sur le Bureau, simplement je n'arrive pas à enregistrer ce pdf dans un dossier spécifique sur le Bureau, que dois je modifier svp?

le code est le suivant:

Sub Création_PDF()
Dim Nom_PDF$
With ActiveSheet
Nom_PDF = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & .Name & ".pdf"
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nom_PDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "Fichier PDF créé sous : " & vbLf & Nom_PDF, vbOKOnly + vbInformation
End With
End Sub

Bonjour,

Nom_PDF = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\MonDossierPréféré\" & .Name & ".pdf"

ric

BONJOUR RIC,

Je vous remercie ça fonctionnne, Maintenant supposons que le dossier soit nommé "RENDEMENT", est il possible qu'il soit crée sans écraser l'ancien s'il existe.

Bonjour,

Ta commande va créer le fichier .pdf ... mais, pas le dossier ...

Nom_PDF = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RENDEMENT\" & .Name & ".pdf"

Si le dossier "RENDEMENT" n'existe pas sur le "Destop" (Bureau) , il faut le créer manuellement ...

Ou bien le créer par programmation avant la ligne qui créera le fichier .pdf...

ric

Bonjour,

Pouvez vous m'aider à créer cette ligne?

Bonjour Hamouda,

Voici ... testé ...

Si le dossier "RENDEMENT" n'existe pas, il est créé ... s'il existe le code passe droit du bout "création du dossier" ...

Sub Création_PDF()
    Dim Nom_PDF$

    Call TesteSiDossierExiste

    With ActiveSheet
        Nom_PDF = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RENDEMENT\" & .Name & ".pdf"
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nom_PDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
        MsgBox "Fichier PDF créé sous : " & vbLf & Nom_PDF, vbOKOnly + vbInformation
    End With
End Sub

Sub TesteSiDossierExiste()
    '' Source référence :  https://excel.developpez.com/faq/?page=FichiersDir

    Dim objShell As Object, objFolder As Object, objFolderItem As Object
    Dim NomRep As String, DossierParent As String

    Const Cible = &H10      ' < dossier Bureau de l'utilisateur en course
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(Cible)
    Set objFolderItem = objFolder.self

    DossierParent = objFolderItem.Path
    NomRep = "RENDEMENT"

    'Vérifie si le répertoire existe.
    If Dir(DossierParent, vbDirectory + vbHidden) <> "" Then
        'Vérifie que le dossier à créer n'existe pas déjà dans le répertoire
        If Dir(DossierParent & "\" & NomRep, vbDirectory + vbHidden) = "" Then _
            MkDir DossierParent & "\" & NomRep
    End If
End Sub

ric

C'est Super, Merci infiniment, ça marche.

Bonjour Hamouda,

Excellent ...

A+

ric

Rechercher des sujets similaires à "aide chemin enregistrement pdf"