Je comprends bien, et de mon côté je fais des recherches avant de poser les questions.
Malheureusement, quand tu ne connais pas le VBA, ni la logique du code de manière générale, c'est compliqué de formuler son besoin (d'autant plus que les idées viennent petit à petit...)....alors aller trifouiller dans le code, ça devient costaud (super tes explications sur chaque ligne, ça permet déjà d'y voir plus clair).
Sauf erreur de ma part, la dernière modification renomme le PDF au nom du dossier de destination et sauvegarde sur le bureau (et non dans le dossier choisi)
J'avais trouvé ça hier (en gras la partie qui me semble gérer la demande du dossier de destination, mais je n'en suis pas certain et ne sait pas la relier avec le reste du code qui permet de renommer le PDF suivant l'artisan et le mois concernés)
Sub PDFActiveSheet()
'
www.contextures.com
'for Excel 2010 and later
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler
Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strTime = Format(Now(), "yyyymmdd\_hhmm")
'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"
'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "")
strName = Replace(strName, ".", "_")
'create default name for savng file
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile
'use can enter name and
' select folder for file
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strPathFile, _
FileFilter:="PDF Files (*.pdf), *.pdf", _
Title:="Select Folder and FileName to save")
'export to PDF if a folder was selected
If myFile <> "False" Then
wsA.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=myFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'confirmation message with file info
MsgBox "PDF file has been created: " _
& vbCrLf _
& myFile
End If
exitHandler:
Exit Sub
errHandler:
MsgBox "Could not create PDF file"
Resume exitHandler
End Sub