VBA macro pour convertir en pdf
Fermé
Canard007
Messages postés
5929
Date d'inscription
mercredi 26 mai 2004
Statut
Contributeur
Dernière intervention
18 septembre 2009
-
4 janv. 2005 à 14:43
belanf - 25 mars 2017 à 19:25
belanf - 25 mars 2017 à 19:25
A voir également:
- Vba convert to pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment faire un pdf - Guide
- Save as pdf - Télécharger - Bureautique
- Jpg to pdf - Télécharger - PDF
- Pdf to jpg - Télécharger - PDF
6 réponses
Pour ceux qui comme moi ont galéré avant de trouver la réponse, voilà un code qui fonctionne avec PdfCreator:
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
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
Bonjour,
je cherche une macro qui me permettrait de créer, à partir d1 fichier excel, un pdf (Pdf Creator),
Le nom du fichier pdf serait une concaténation d'une cellule A1;"-";B1 de la feuille imprimée.
Le fichier pdf serait à envoyer toujours dans le même repertoire ex : "dossier1"
Je souhaite que le fichier pdf reste ouvert pour visualisation et soit fermé manuellement.
Est-ce possible ?
Merci d'avance pour toute indication
je cherche une macro qui me permettrait de créer, à partir d1 fichier excel, un pdf (Pdf Creator),
Le nom du fichier pdf serait une concaténation d'une cellule A1;"-";B1 de la feuille imprimée.
Le fichier pdf serait à envoyer toujours dans le même repertoire ex : "dossier1"
Je souhaite que le fichier pdf reste ouvert pour visualisation et soit fermé manuellement.
Est-ce possible ?
Merci d'avance pour toute indication
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
5 janv. 2005 à 06:11
5 janv. 2005 à 06:11
;-)
En fait, ce que tu dois lire, dans ce bout de code, c'est qu'il fait appel à un programme, ou un appilcation complémentaire ("ConvertToPDFA"), et que celui-ci, apparamment, a un blème....
Un truc qu'il faut savoir, c'est que quand tu installes une appli, celle-ci va inscrire ses bibliothèque de routines dans le registre, en l'occurence, Acrobat Reader... Le blème, c'est que Reader, c'est clair, comme message !! ;-))))) C'est pas Maker !! Acrobat Reader te permet de lire, pas de créer !
Si tu veux disposer des biblio pour créer, il te faut Acrobat TOUT COURT, pas Reader... Où alors tu utilises des trucs qui sortent des chemins Adobe... PDF Maker est une fonction d'Acrobat, pas du Reader qui n'est fait que pour lire... Sinon, il existe aussi des trucs pour créer au format PDF, mais je ne le garanti pas à 100%...
Bref, si tu veux faire des PDF en bonne et due forme, vas voir plutôt du coté d'Acrobat... Et c'est tellement plus simple...
Wild and Free
En fait, ce que tu dois lire, dans ce bout de code, c'est qu'il fait appel à un programme, ou un appilcation complémentaire ("ConvertToPDFA"), et que celui-ci, apparamment, a un blème....
Un truc qu'il faut savoir, c'est que quand tu installes une appli, celle-ci va inscrire ses bibliothèque de routines dans le registre, en l'occurence, Acrobat Reader... Le blème, c'est que Reader, c'est clair, comme message !! ;-))))) C'est pas Maker !! Acrobat Reader te permet de lire, pas de créer !
Si tu veux disposer des biblio pour créer, il te faut Acrobat TOUT COURT, pas Reader... Où alors tu utilises des trucs qui sortent des chemins Adobe... PDF Maker est une fonction d'Acrobat, pas du Reader qui n'est fait que pour lire... Sinon, il existe aussi des trucs pour créer au format PDF, mais je ne le garanti pas à 100%...
Bref, si tu veux faire des PDF en bonne et due forme, vas voir plutôt du coté d'Acrobat... Et c'est tellement plus simple...
Wild and Free
blux
Messages postés
26498
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
28 novembre 2024
3 317
12 déc. 2005 à 15:37
12 déc. 2005 à 15:37
Salut,
une soluce, plus simple à gérer (sur un seul poste) est d'installer une imprimante PDF (le site de sebsauvage indique comment faire) et ensuite imprimer en choisissant celle-ci...
Qu'en penses-tu ?
une soluce, plus simple à gérer (sur un seul poste) est d'installer une imprimante PDF (le site de sebsauvage indique comment faire) et ensuite imprimer en choisissant celle-ci...
Qu'en penses-tu ?
Nyarta
>
blux
Messages postés
26498
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
28 novembre 2024
23 janv. 2006 à 16:19
23 janv. 2006 à 16:19
J'en pense que l'imprimante PDF est déjà installée, puisqu'elle est livrée avec Acrobat 5, mais je veux que la conversion se fasse automatiquement, sans intervention de l'utilisateur, directement depuis le code VBA. Quant à installer une autre imprimante PDF, d'une part, j'ai déjà celle d'Acrobat, ensuite je n'ai pas le droit d'installer autre chose sur mon poste dans ma boîte et surtout, mon application doit être portable dans ma boîte donc je dois utiliser Acrobat.
Bj,
J'ai eu le meme pb.
Simplement il ne faut pas oublier de rajouter les librairies correspondantes dans ta feuille xl.
Pour cela tu vas dans Ms VBA et tu ouvres "OUTILS / PREFERENCES" et la tu rajoutes "PDFMaker" ou "Distiller " ..
Slts
Vince
J'ai eu le meme pb.
Simplement il ne faut pas oublier de rajouter les librairies correspondantes dans ta feuille xl.
Pour cela tu vas dans Ms VBA et tu ouvres "OUTILS / PREFERENCES" et la tu rajoutes "PDFMaker" ou "Distiller " ..
Slts
Vince
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici mon problème
j'ai un dossier d'environ 400pdf qui portent déaj un nom
mon but est grace à une macro de chager le nom de ces 400 fichier automatiquement en fonction de 2 variables qui se trouve dans mon classeur excel
par ex
un fichier se nomme "\1234_docu.pdf"
et moi j'aimerais le renommer "1234_document.pdf"
1234 et document étant variables pour mes 400 fichiers?
Qu'en pensez vous??
j'ai un dossier d'environ 400pdf qui portent déaj un nom
mon but est grace à une macro de chager le nom de ces 400 fichier automatiquement en fonction de 2 variables qui se trouve dans mon classeur excel
par ex
un fichier se nomme "\1234_docu.pdf"
et moi j'aimerais le renommer "1234_document.pdf"
1234 et document étant variables pour mes 400 fichiers?
Qu'en pensez vous??
snejena
Messages postés
1
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
18 août 2006
18 août 2006 à 15:03
18 août 2006 à 15:03
en mettrant run.application("convertoPDF") ça marche
14 déc. 2009 à 18:38
Mais comment restreindre à la zone d'impression plutot que de convertir la totalité des feuilles ?
Par exemple, j'ai des feuilles avec un menu déroulant identique sur la droite et je ne veut imprimer que la zone sur la gauche ?
2 févr. 2010 à 10:45
Je viens de lire avec graaannde (!! ça fait aussi longtemps que je cherche !!!) attention ton message qui explique le lancement de pdfcreator merci beaucoup !
Je rencontre le même problème, en effet j'utilise pdfcreator pour convertir des courriels dans outlook. Pour ce faire, je lance une application word via le vba dans outlook, dans laquelle j'appelle le pdfcreator ... sauf que celui-ci ... ne vient pas !
Aurais-tu une idée qui expliquerait cela ?
Merci !
2xpi.
24 févr. 2010 à 14:47
mais j'aurais une question, je n'y connais pas grand chose en programmation et il me faut, en plus de mettre en pdf toutes mes feuilles du classeur, que dans le nom du pdf il y ai en plus la date de la formaion de ce pdf
je ne sais pas si je me suis bien expliquée
en tout cas merci beaucoup, si quelqu'un peut m'aider.... c'est très important
biz
nad
27 avril 2012 à 00:07
24 mars 2014 à 16:22
Mais comment faire pour convertir quelques feuilles au lieu de tout le classeur.
D'avance merci