Sub test()
Dim cheminPDF$, Chemin
'on cherche si le name "cheminPDF existe et si oui on recupere le chemin precedamment enregistré
'et on determine cheminPDF comme dossier courrant(pour etre sur
For Each nam In ThisWorkbook.Names
If nam.Name = "cheminPDF" Then cheminPDF = Split(Split(nam.RefersTo, Chr(34))(1), Chr(34))(0): ChDir cheminPDF
Next
'on ouvre la boite de dialog qui n'enregistre pas mais crée le chemin a l'inverse du dialog "SaveAs"
'dans le initial file name je met cheminpdf +du texte t'invitant a taper le nom que tu veux
Chemin = Application.GetSaveAsFilename(InitialFileName:=cheminPDF & "entrez un nom pour ce fichier ici", filefilter:="PDF Files (*.pdf), *.pdf", Title:="ENREGISTREMENT DE LA FEUILLE EN PDF")
'si on annule on sort directe
If Chemin = False Then MsgBox "Abandon!!": Exit Sub
'si on a pas annulé et que le name "cheminPDF" n'existe pas on le cré avec le chemin(pour la premiere fois au moins )
If cheminPDF <> "" Then ThisWorkbook.Names("cheminPDF").Delete
ThisWorkbook.Names.Add Name:="cheminPDF", RefersTo:=Mid(Chemin, 1, InStrRev(Chemin, "\"))
'terminé
'et on sauve la feuille en pdf avec le nom tapé dans la boite de dialog
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=2, OpenAfterPublish:=True
End Sub