Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro excel en pdf

3 réponses
Avatar
lolo
Bonjour

Voila j'utilise une macro pour transformer mes pages excel en pdf par
contre lorsque j'ai plusieurs feuilles dans mon classeur, cette macro
me transforme tout en pdf
Est il possible de modifier la macro pour que seulement la 2eme
feuille soit transform=E9e en pdf ?

ci joint macro :

Set pdfjob =3D CreateObject("PDFCreator.clsPDFCreator")
NomExcel =3D ThisWorkbook.Name
NomPdf =3D Left(NomExcel, Len(NomExcel) - 4) & ".pdf"
With pdfjob
If .cstart("/NoProcessingAtStartup") =3D False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly,
"PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") =3D 1
.cOption("UseAutisaveDirectory") =3D 1
.cOption("AutosaveDirectory") =3D ThisWorkbook.Path
.cOption("AutosaveFilename") =3D NomPdf
.cOption("AutosaveFormat") =3D 0
.cClearCache
End With
ThisWorkbook.PrintOut copies:=3D1, ActivePrinter:=3D"PDFCreator"
Do Until pdfjob.cCountOfPrintjobs =3D 1
DoEvents
Loop
pdfjob.cPrinterStop =3D False
Do Until pdfjob.cCountOfPrintjobs =3D 0
DoEvents
Loop
With pdfjob
.cDefaultprinter =3D DefaultPrinter
.cClearCache
.cClose
End With
Set pdfjob =3D Nothing


Merci de votre aide
@++
Lolo

3 réponses

Avatar
DanielCo
Bonjour,
Je ne suis pas un pro de l'enregistrement en pdf, mais je copierais la
feuille dans un classeur neuf, j'utiliserais celui-ci avant de le
supprimer.
Cordialement.
Daniel


Bonjour

Voila j'utilise une macro pour transformer mes pages excel en pdf par
contre lorsque j'ai plusieurs feuilles dans mon classeur, cette macro
me transforme tout en pdf
Est il possible de modifier la macro pour que seulement la 2eme
feuille soit transformée en pdf ?

ci joint macro :

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


Merci de votre aide
@++
Lolo
Avatar
Michel
lolo avait écrit le 24/05/2011 :
Bonjour

Voila j'utilise une macro pour transformer mes pages excel en pdf par
contre lorsque j'ai plusieurs feuilles dans mon classeur, cette macro
me transforme tout en pdf
Est il possible de modifier la macro pour que seulement la 2eme
feuille soit transformée en pdf ?



Trouvé ici une autre façon de faire.
Je l'ai testé et ça fonctionne bien chez moi. (Excel 2007)

http://grenier.self-access.com/?post/2010/05/16/Automatiser-limpression-dun-classeur-Excel-en-PDF-via-PDFCreator

M.
Avatar
lolo
Bonjour

Oui c'est impeccable
Merci beaucoup

@++
Lolo