VBA Enregistrer PDF avec proposition de nom

Bonjour,

Je suis novice sur Excel,

J'ai fait une macro qui me permet d'enregistrer ma feuille en PDF en fonction du nom de ma feuille

Cependant, si j'exécute la macro 2 fois de suite sans changer le nom de la feuille, le deuxième enregistrer va supprimer et remplacer le premier.

Ce que je souhaite alors est que lors de l'exécution de la macro, une fenêtre s'ouvre et me permet de taper le nom que je souhaite.

De même, dans le cas ou je tape un nom qui existe déjà, qu'une fenêtre erreur "Veuillez choisir un autre nom" s'ouvre.

Voici la macro utilisée:

Sub Pdf()

'

' PdfMacro

'

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".pdf", _

quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _

from:=1, to:=200, openafterpublish:=False

'

End Sub

Merci beaucoup pour votre aide

Salut,

Le code ci-dessous devrait faire l'affaire.

Sub Pdf()
Dim Fichier_traité As String, Chemin As String, Autre_nom As String, Drapeau As Boolean

Application.ScreenUpdating = False

Chemin = ThisWorkbook.Path & "\"
Fichier_traité = Dir(Chemin & "*.pdf")

Do While Fichier_traité <> ""
        If Fichier_traité = ActiveSheet.Name & ".pdf" Then
            MsgBox "Le fichier ''" & ActiveSheet.Name & "'' existe déja !"
            Autre_nom = InputBox("Indiquer un autre nom que ''" & ActiveSheet.Name & "''")
            Drapeau = True
        End If
Fichier_traité = Dir
Loop

Fichier_traité = Dir(Chemin & "*.pdf")

Do While Fichier_traité <> ""
        If Fichier_traité = Autre_nom & ".pdf" Then
            MsgBox "Le fichier ''" & Autre_nom & "'' existe déja !"
            Autre_nom = InputBox("Indiquer un autre nom que ''" & Autre_nom & "''")
            Drapeau = True
        End If
Fichier_traité = Dir
Loop

If Drapeau = False Then
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
Else
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & Autre_nom & ".pdf"
End If

End Sub

'', _
''quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
''from:=1, to:=200, openafterpublish:=False

Tu remarqueras que j'ai mis en commentaire certaines lignes de ton ancien code (tout au fond) car elles sont inutiles ici.

Un fichier en annexe pour effectuer tes tests.

Cordialement.

48boyoo974-v2.xlsm (21.21 Ko)
Rechercher des sujets similaires à "vba enregistrer pdf proposition nom"