condors.s
XLDnaute Occasionnel
Bonjour à tous,
Je souhaiterais pouvoir imprimer un fichier excel en pdf en définissant le nom à partir des cellules "D5 & A9" d'un fichier et l'enregistrer toujours au meme emplacement.
J'ai trouvé le code suivant sur internet.
Mon soucis (assez basic le 1er) est de redenir le nom d'impression.
Le second est de définir l'endroit de l'enregistrement.
Merci à tous
Je souhaiterais pouvoir imprimer un fichier excel en pdf en définissant le nom à partir des cellules "D5 & A9" d'un fichier et l'enregistrer toujours au meme emplacement.
J'ai trouvé le code suivant sur internet.
Mon soucis (assez basic le 1er) est de redenir le nom d'impression.
Le second est de définir l'endroit de l'enregistrement.
Merci à tous
Code:
Sub ToPdf()
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
NomExcel = ThisWorkbook.Name
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & ".pdf"
With pdfjob
If .cstart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutisaveDirectory") = 1
.cOption("AutosaveDirectory") = ThisWorkbook.Path
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultprinter = DefaultPrinter
.cClearCache
.cClose
End With
Set pdfjob = Nothing
End Sub