Enregistrer sous fichier avec le nom des éléments de la liste déroulante

Bonjour le forum

Je souhaite faire des enregistrements en format pdf.

J’ai une plage Parametre!bx3:bx8 à partir de laquelle j’ai réalisé une liste déroulante (dans la cellule TABLEAU !B2)

Comment faire correspondre le nom de chaque fichier à la valeur de la cellule de la liste déroulante (Tableau !B2)

Exemple : Si la valeur de B2 = « Entretien », le nom du fichier devra être « Entretien » avec l’extension PDF et ainsi de suite jusqu’à la dernière valeur de la liste déroulante.

Voici le code que j’ai essayé de rédiger tout en sachant qu’il n’est pas correct d’où ma demande d’aide.

Dim i As String, dossier As String, sousdossier As String

Dim p As Worksheet

Dim cel As Range

dossier = "c:\users\" & Environ("username") & "\documents\"

sousdossier = dossier & "TBC 2018" & "\" & "Objectif" & "_" & choix & "_" & 2018 & ".pdf"

Set p = Sheets("PARAMETRE")

cel = p.Range("f3:f25")

choix = cel.Value

With Sheets("TABLEAU")

    For Each choix In cel

        .ActiveWorkbook.SaveAs Filename:=sousdossier

    End With

Next choix

Bonjour Zombe,

Je propose la macro suivante :

Sub savePDF()
    Dim i As String, dossier As String, choix As String, sFilename As String
    Dim p As Worksheet
    Dim cel As Range
    Dim oFS As Object

    Set oFS = CreateObject("Scripting.FileSystemObject")

    Set p = Sheets("TABLEAU")
    Set cel = p.Cells(2, 2)
    choix = cel.Value

    Set oFS = CreateObject("WScript.Shell").SpecialFolders
    dossier = oFS("mydocuments")
    Set oFS = Nothing

    dossier = dossier & "\" & "TBC 2018"
    Set oFS = CreateObject("Scripting.FileSystemObject")
    If Not oFS.Folderexists(dossier) Then
        oFS.Createfolder (dossier)
    End If
    Set oFS = Nothing

    sFilename = dossier & "\" & "Objectif" & "_" & choix & "_" & 2018 & ".pdf"

    p.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFilename _
      , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

End Sub

Bonjour

Un essai à tester. Si j'ai bien compris....

Les fichiers PDF sont dans le même dossier que celui du fichier où est la macro. D'où la nécessité de mettre celui-ci au moins sur le bureau.

Cela te convient-il ?

Bye !

Bonjour a tous

Merci pour vos contributions.

Gmb : ta solution a résolu mon besoin.

Je l'ai beaucoup apprécié.

Je vais essayé de bien le comprendre pour enrichir ma formation en vba.

Rechercher des sujets similaires à "enregistrer fichier nom elements liste deroulante"