casamartin
XLDnaute Junior
Bonjour à tous,
J'ai pompé une macro sur le forum pour imprimer en PDF.
Elle fonctionne mais j'ai des modifications à y faire.
Cette macro imprime l'ensemble des feuilles du classeur, je veux imprimer que la feuille ou se trouve le bouton de commande macro.
De plus cette macro intègre le chemin dans le nom du fichier, je veux que le nom du fichier.
Merci d'avance pour vos lumières.
Sub ToPdf()
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
Dim nomPdf As String
Range("M1").Select
nomPdf = ThisWorkbook.Path & "\" & ActiveCell.Text & ".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
J'ai pompé une macro sur le forum pour imprimer en PDF.
Elle fonctionne mais j'ai des modifications à y faire.
Cette macro imprime l'ensemble des feuilles du classeur, je veux imprimer que la feuille ou se trouve le bouton de commande macro.
De plus cette macro intègre le chemin dans le nom du fichier, je veux que le nom du fichier.
Merci d'avance pour vos lumières.
Sub ToPdf()
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
Dim nomPdf As String
Range("M1").Select
nomPdf = ThisWorkbook.Path & "\" & ActiveCell.Text & ".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