Imprimer via Excel VBA et Adobe PDF

madlolo

XLDnaute Junior
Je suis sur Office 2010, Windows 7, Adobe X
Je désire imprimer, avec Adobe PDF, un fichier Excel (disons surtout une feuille)
j'ai le code suivant :

Code:
DistillerFolder = "C:\Users\[user]\Documents\"
Application.ActivePrinter = "Adobe PDF sur Ne03:"   
PDFOutput = DistillerFolder & "mon fichier.pdf"
ActiveWindow.SelectedSheets.PrintOut , Copies:=1, PrToFileName:=PDFOutput

Et bien, j'ai le message d'erreur suivant :
"Lorsque vous créer un fichier Postscript, vous devez vous baser sur les polices système et utiliser les polices du document.
Accédez aux propriétés de l'imprimante, sous Paaramètres Adobe PDF, et désactivez l'option Se limiter aux polices système; ne pas utiliser les polices du document"

J'ai effectué la manipulation en question et bien désactiver cette option, mais j'ai toujours ce message d'erreur... :confused:

QUe faire ?

Merci d'avance,

Cordialement,
 

madlolo

XLDnaute Junior
Re : Imprimer via Excel VBA et Adobe PDF

Bon, je continue dans mes recherches et voilà ce que j'ai identifié comme pb :
Sous Office 2010, avec mon code VBA, je devrais pouvoir imprimer en fichier PDF ma feuille.
Sauf que j'ai l'erreur ci-dessus expliqué.
J'ai constaté que, si j'enlève, dans la commande d'impression, le paramètre
Code:
PrToFileName:=PDFOutput
, alors à l'exécution, une boîte de dialogie s'ouvre pour me demander où je veux enregistrer le PDF.

J'ai aussi constaté que, sous Office 2010, les paramètres d'impression de PDF sont ici :
"Fichier" -> "Imprimer" -> sélectionner "Adobe PDF" puis je clique sur "Propriétés de l'imprimante" : surprise !
Je vois les différents paramètres.
Entr'autre, je voudrais désactiver 2 paramètres :
1) Afficher le fichier Adobe PDF obtenu
(je n'en veux pas)
2) se limiter aux polices système : ne pas utiliser les polices du document

Or, je constate que, même si je le fais une première fois manuellement, quand je relance l'impression, j'obtiens à nouveau les mêmes pbs : à savoir que le fichier PDF s'ouvre, j'ai un message d'erreur à la création du PDF. C'est comme si on revient aux paramètres d'Adobe PDF initial. Effectivement, quand je reviens dans cette fenêtre de paramètres, je retrouve ^mes deux options actives (alors que je les avais préalablement désactivées manuellement).
Je me dis alors : "il suffit de paramétrer les paramètres d'adobe PDF lorsque l'on imprime les documents" ? Pb : lorsque je lance un enregistrement de macro, et que je vais dans cette fenêtre de paramétrage d'Adobe PDF, je n'obtiens aucune ligne de code VBA !!!!!


Question : comment paramétrer, à l'exécution (code VBA), les paramètres d'Adobe PDF (décocher "afficher le fichier ..." et "se limiter aux polices système ...")
OU
comment paramétrer Adobe PDF au début et figer ces paramètres ?

Merci d'avance pour votre aide,

Cdlt,
 

Pièces jointes

  • Paramètres Adobe PDF.jpg
    Paramètres Adobe PDF.jpg
    29.1 KB · Affichages: 356

madlolo

XLDnaute Junior
Re : Imprimer via Excel VBA et Adobe PDF

J'essaye maintenant une autre approche :
1) aller directement dans les paramètres d'Adobe Pro
2) puis lancer la macro.
J'ai 2 cas, avec les morceaux de code suivant :
Code:
ActiveWindow.SelectedSheets.PrintOut , To:=1, Copies:=1, PrintToFile:=True, PrToFileName:=PDFOutput
-> ici, on ne me demande pas le nom du fichier à imprimer (c'est bon !), par contre, quand j'essaye d'ouvrir le fichier avec Adobe, j'ai le message d'erreur suivant :
"Acrobat n'a pas pu ouvrir xxx.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (....)"

puis, un autre cas, avec le code suivant :
Code:
ActiveWindow.SelectedSheets.PrintOut , To:=1, Copies:=1
-> ici, on me demande le nom du fichier que je veux imprimer (boite de dialogue qui s'affiche (si j'ai 50 fiches à imprimer au format PDF c'est moyen), par contre si je désire ouvrir après le fichier PDF c'est OK.

Donc, comment faire pour
1) que le nom du fichier à imprimer au format PDF ne me soit pas demandé à chaque fois ?
2) et que cette impression au format PDF se fasse correctement ? (on peut après ouvrir le fichier)
 

kiki29

XLDnaute Barbatruc
Re : Imprimer via Excel VBA et Adobe PDF

Salut, voir Excel vers PDF avec Acrobat Distiller [FAQ] - Forum des professionnels en informatique même si c'était pour Acrobat Distiller 6
Par contre depuis Excel 2007 le format PDF est inclus en natif donc on peut se passer à priori d'Acrobat Distiller

PrToFileName écrit un fichier PostScript et non PDF

Extrait du post dont le lien est donné plus haut

Code:
    Sheets(Ar).PrintOut copies:=1, Preview:=False, _
                        ActivePrinter:=sNomPortReseau, PrintToFile:=True, _
                        PrToFileName:=sNomFichierPS
 
    Set PDFDist = New PdfDistiller
    PDFDist.FileToPDF sNomFichierPS, sNomFichierPDF, ""
    Set PDFDist = Nothing
 

gui0123

XLDnaute Nouveau
Re : Imprimer via Excel VBA et Adobe PDF

Salut,
Merci de ta réponse.
J'ai pu effectivement imprimer avec la méthode expliqué sur la page où tu renvoie, mais cela dit, j'ai toujours un petit problème.
Comme l'avait fait remarqué madlolo plus haut, il faudrait décocher automatiquement la case "Se limiter aux polices systèmes ;ne pas utiliser les polices du document".
En effet, pour chaque nouvelle impression, la case se recoche par défaut.

Ma question est donc: Quel est le nom de la variable que je dois passer en FALSE dans le "ActiveSheet.PrintOut" ?

Merci d'avance
 

kiki29

XLDnaute Barbatruc
Re : Imprimer via Excel VBA et Adobe PDF

Salut, comme dit plus haut j'en suis resté à la version 6 d'Acrobat Distiller et ce problème ne se pose pas à priori car les options décochées le restent.
Si tu as 2007 ou + Excel intégre en natif le format PDF et donc ne rend plus Acrobat indispensable dans ce contexte
voir dans mon post sur PDF ( lien donné plus haut ) en bas du #1
 

Discussions similaires

Réponses
3
Affichages
416
Réponses
11
Affichages
3 K

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom