Impression en pdf et Macro VBA

Fermé
bankroot Messages postés 3 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 23 décembre 2008 - 22 déc. 2008 à 12:32
 Frank - 12 mars 2010 à 21:11
Bonjour,

Je souhaite imprimer en pdf une feuille test Excel où il y a du texte à partir de vba. J'utilise Adobe Reader 8.0 pour lire les pdf et PDF995 pour imprimer en pdf.

1/ Je fais manuellement "Fichier >> Imprimer " et je sélectionne mon imprimante pdf. Je rentre mon nom de fichier "coucou.pdf" sur le bureau. Résultat : j'ai sur mon bureau un fichier pdf qui s'ouvre avec le contenu de ma feuille1 d'Excel. C'est donc ok

2/ J'utilise l'enregistreur de macro pour faire les étapes décrites en 1/, et le fichier "coucou.pdf" est toujours ok. A noter que c'est une boîte de dialogue "Enregistrer sous..." qui m'invite à taper "coucou.pdf"

3/ Je souhaite ensuite demander à la macro d'enregistrer sous le nom de fichier que je lui rentre directement dans le code. Pour cela, j'utilise dans la méthode PrintOut l'argument "PrToFileName:=" et là, quand j'ouvre le fichier pdf obtenu, j'obtiens le message d'erreur suivant :

"Adobe n'a pu ouvrir coucou.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il a été envoyé en tant que pièce jointe et n'a pas été décodé correctement, par exemple)"

Voici le bout de code, si quelqu'un pouvait m'aider, je lui en serai très reconnaissant :

---------------------------
Sub Macro2()
ActivePrinter:="PDF995 sur Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, PrToFileName:="C:\Documents and Settings\U153434\Bureau\coucou.pdf"
End Sub
-----------------------------

Je précise que j'ai déjà inclus les libraires suivantes dans "Outils >> Références..." :
Visual Basic for Applications
Microsoft Excel 11.0 Object Library
OLE Automation
Microsoft Office 11.0 Object Library
Acrobat Access 3.0 Type Library
Acrobat Distiller
Adobe Acrobat 8.0 Browser Control Type Library 1.0
Adoble Acrobat 8.0 Type Library
PDF Filter 1.0 Type Library
PDFPrevHndlr 1.0 Type Library
PDFPrevHndlrShim 1.0 Type Library
PDFShellServer 1.0 Type Library
AcroIFHelper 1.0 Type Library
A voir également:

3 réponses

Salut, je sais que ça fait un bail que tu as écrit cette question, mais j'ai peut-etre une réponse pour toi...

Filename = "C:\Test\" & ActiveSheet.Range("C1").Value & ".pdf"
SendKeys Filename & "{ENTER}", False
ActiveSheet.PrintOut Copies:=1, ActivePrinter:="Adobe PDF sur Ne03:", Collate:=True

Mon problème à moi c'est que je ne suis pas capable de la faire en loop...
6
bankroot Messages postés 3 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 23 décembre 2008 2
23 déc. 2008 à 10:42
Personne pour m'aider ? C'est trop compliqué ?
2
bankroot Messages postés 3 Date d'inscription lundi 22 décembre 2008 Statut Membre Dernière intervention 23 décembre 2008 2
22 déc. 2008 à 16:26
Pourtant, je suis sûr que c'est tout bête (comme toujours me direz-vous)
0