Imprimer pdf word à partir d'excel

Résolu/Fermé
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023 - Modifié par pijaku le 7/10/2014 à 08:47
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 8 avril 2016 à 17:36
Bonjour, je sollicite votre aide pour résoudre un problème de taille sur le quelle je travail depuis vendredi dernier et qui ne fonctionne pas du tout. Je dois imprimer dans un fichier PDF une partie d'un documents word mêler à des documents excel. Il m'est impossible d'imprimer le document sélectionné avec pdfcreator. Je regarder sur tout les forums que j'ai trouvé et rien ne règle mon problème.

voici un code que j'ai trouvé sur interner et qui ferais ce dont j'ai besoin en gros:

Sub ToPdf()


Dim oWord As Word.Application
Dim oDoc As Word.document
Dim NomWord As String

VBA.Interaction.Shell ("TASKKILL /F /IM winword.exe")' Ferme Word s'il est ouvert dans le gestionnaire de tâche.

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
Set oWord = CreateObject("word.application")

oWord.Documents.Open "c:\users\jsgermain\documents\test\toto.doc"

Set oDoc = ActiveDocument
NomWord = ActiveDocument.name
NomPdf = Left(NomWord, Len(NomWord) - 4) & ".pdf"

'Si PDFCreator est ouvert, fermer l'application.
Do
Restart = False
Set pdfjob = New PDFCreator.clsPDFCreator
If pdfjob.cStart("/NoProcessingAtStartup") = False Then
'PDF Creator is already running. Kill the existing process
Shell "taskkill /im PDFCreator.exe" ', vbHide
DoEvents
Set pdfjob = Nothing
Restart = True
End If
Loop Until Restart = False

'Check if worksheet is empty and exit if so
If IsEmpty(ActiveSheet.UsedRange) Then Exit Sub
Set pdfjob = New PDFCreator.clsPDFCreator
With pdfjob
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = sPDFPath
.cOption("AutosaveFilename") = sPDFName
.cOption("AutosaveFormat") = 0
.cOption("AutosaveDirectory") = ActiveDocument.Path
.cCombineAll
.cClearCache
End With

ActivePrinter = "PDFCreator sur NE00:"
oWord.Documents.Open "c:\users\jsgermain\documents\test\toto.doc"
oWord.ActiveDocument.PrintOut copies:=1, Pages:="3-13"
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


À la fin il a imprimer mon document mais papier. Pourtant, dans word, il le fait vraiment dans un PDF. La commande "activeprinter" ne fonctionne pas. Avec la commande si-dessous, ça fonctionne dans un fichier excel mais si je remplace le début par mon documents, ça ne fonctionne pas plus.

dans excel:
Sheets("Soumission").Range("a1:h290").PrintOut copies:=1, ActivePrinter:="PDFCreator"

dans excel mais à partir du fichier word:
oWord.ActiveDocument..PrintOut copies:=1, ActivePrinter:="PDFCreator"

Je suis vraiment désespéré. Il faut que je règle cela.

merci de votre aide.
A voir également:

3 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 6/10/2014 à 23:46
Bonjour,

J'ai l'impression que tu définis l'imprimante pour excel, pas pour word.
Essaie en la choisissant déjà manuellement dans word (si il est affiché, et en mettant un stop dans ta procédure avant l'impression) voir si ça se confirme.

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 oct. 2014 à 10:22
Bonjour,

Je ne suis pas sur d'avoir compris. Vous voulez imprimer un document Word en PDF à partir d'Excel?

Si c'est cela, voici le code:

'Allez dans Outils-référence et cochez: Microsoft Word 12.0 Object Library et PDFCreator
Option Explicit
Sub ToPdf()
Dim chemindoc, chemindossier, NomWord, NomPdf As String
Dim DefaultPrinter
Dim pdfjob
Dim DocWord As Word.Document
Dim AppWord As Word.Application
Set AppWord = New Word.Application
AppWord.ShowMe
AppWord.Visible = True

chemindoc = "c:\users\jsgermain\documents\test\toto.doc"
chemindossier = "c:\users\jsgermain\documents"

Set DocWord = AppWord.Documents.Open(chemindoc, ReadOnly:=False)
NomWord = AppWord.ActiveDocument.Name
NomPdf = Left(NomWord, Len(NomWord) - 4) & ".pdf"

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
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") = chemindossier 'Chemin dossier destination
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
pdfjob.cDefaultprinter = "PDFCreator"
AppWord.ActiveDocument.PrintOut copies:=1

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

AppWord.Documents.Close
AppWord.Visible = False

MsgBox "Votre PDF se trouve à cet emplacement: " & chemindossier & NomPdf, vbInformation, "Convertir en PDF"
End Sub




Voilà
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 oct. 2014 à 10:24
Il faut lire

chemindossier = "c:\users\jsgermain\documents\test\"


Le site a supprimé l'antislash
0
J'ai tout le temps l'erreur : "Can't initialize PDFCreator"
Comment fait-on pour ne pas l'avoir SVP ça fait quelques heures que je suis dessus maintenantHELP PLEASE !
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931 > Rems
8 avril 2016 à 17:36
Bonjour, as tu installé pdfcreator?
0
infodes Messages postés 50 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 21 décembre 2023
17 nov. 2014 à 19:44
:-) Merci!
0