![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| Bien le bonjour le groupe! Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou 2003 ) le hic se sont les messages à répondre. Il faudrait que cela se fasse sans avoir à répondre à des questions ... J'ai essayé ceci mais cela ne fonctionne pas Sub PrintPDF() Application.SendKeys "{enter}" Application.ActivePrinter = "Adobe PDF sur Ne09:" ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,""Adobe PDF sur Ne09:"",,TRUE,,FALSE)" End Sub Toute idée serait la bienvenue! Merci et bonne journée! Greg |
| | ||||
| ||||
| |
| |||
| Bonjour ! Il suffit de faire une recherche avec le mot "PDF" sur les sites suivants : http://www.excel-downloads.com/forum/ http://www.developpez.net/forums/forumdisplay.php?f=664 http://www.veriti.net/index.php?lng=fr http://forum.excel-pratique.com/ ![]() Fring "Gregory Hilaire" <ghilaire***sympatico.ca> a écrit dans le message de news: %23Y8HxdpnIHA.5084***TK2MSFTNGP04.phx.gbl... > Bien le bonjour le groupe! > > Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou > 2003 ) > le hic se sont les messages à répondre. Il faudrait que cela se fasse > sans avoir > à répondre à des questions ... > > J'ai essayé ceci mais cela ne fonctionne pas > > Sub PrintPDF() > Application.SendKeys "{enter}" > Application.ActivePrinter = "Adobe PDF sur Ne09:" > ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,""Adobe PDF sur > Ne09:"",,TRUE,,FALSE)" > End Sub > > Toute idée serait la bienvenue! > > Merci et bonne journée! > Greg > > > |
| |||
| Bonsour® Gregory Hilaire avec ferveur ;o))) vous nous disiez : >> Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou > 2003 ) le hic se sont les messages à répondre. Il faudrait que cela > se fasse sans avoir > à répondre à des questions ... http://excelabo.net/excel/sortirimport.php#pdfacrobat -- -- ***+ ;o))) |
| |||
| Mais surtout ici : http://www.excel-downloads.com/forum/ http://www.developpez.net/forums/forumdisplay.php?f=664 http://www.veriti.net/index.php?lng=fr http://forum.excel-pratique.com/ ![]() A++++ Fring "Modeste" <nomail***nomail.net> a écrit dans le message de news: eCYWNvunIHA.4712***TK2MSFTNGP04.phx.gbl... > Bonsour® Gregory Hilaire avec ferveur ;o))) vous nous disiez : > >>> Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou >> 2003 ) le hic se sont les messages à répondre. Il faudrait que cela >> se fasse sans avoir >> à répondre à des questions ... > > http://excelabo.net/excel/sortirimport.php#pdfacrobat > > > -- > -- > ***+ > ;o))) > > |
| |||
| Un grand merci à Modeste et à Fring pour vos réponses rapides et précises. J'ai exactement ce que je voulais cela fonctionne cependant au moment de la conversion de ps à pdf aléatoirement j'ai le message d'erreur suivant : %%[ Error: undefined; OffendingCommand: $PJL ]%% Quelqu'un saurait-il d'où cela vient et pourquoi cette erreur ? Je cherche j'essaye plusieurs scénarii mais je ne trouve pas encore pourquoi. Merci encore de votre aide. Greg "Modeste" <nomail***nomail.net> a écrit dans le message de news: eCYWNvunIHA.4712***TK2MSFTNGP04.phx.gbl... > Bonsour® Gregory Hilaire avec ferveur ;o))) vous nous disiez : > >>> Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou >> 2003 ) le hic se sont les messages à répondre. Il faudrait que cela >> se fasse sans avoir >> à répondre à des questions ... > > http://excelabo.net/excel/sortirimport.php#pdfacrobat > > > -- > -- > ***+ > ;o))) > > |
| |||
| Je crois avoir identifié le problème pour une raison inconnue de moi des fois il génère un fichier pour HP d'autre fois un fichier pour Distiller. Mais si l'imprimante par défaut est Adobe PDF cela marche à tous les coups. Je me demande s'il serait possible de définir l'imprimante par défaut le temps de l'exécution du programme et de le remettre comme c'était avant en après l'impression ( via VBA?)Merci encore Bonne Journée! "Gregory Hilaire" <ghilaire***sympatico.ca> a écrit dans le message de news: u3q0DZ6nIHA.1240***TK2MSFTNGP02.phx.gbl... > Un grand merci à Modeste et à Fring pour vos réponses rapides et précises. > J'ai exactement ce que je voulais cela fonctionne cependant au moment de > la conversion de ps à pdf aléatoirement j'ai le message d'erreur suivant : > %%[ Error: undefined; OffendingCommand: $PJL ]%% > > Quelqu'un saurait-il d'où cela vient et pourquoi cette erreur ? Je cherche > j'essaye plusieurs scénarii mais je ne trouve pas encore pourquoi. > > Merci encore de votre aide. > > Greg > > "Modeste" <nomail***nomail.net> a écrit dans le message de news: > eCYWNvunIHA.4712***TK2MSFTNGP04.phx.gbl... >> Bonsour® Gregory Hilaire avec ferveur ;o))) vous nous disiez : >> >>>> Je voudrais générer un fichier PDF d'un classeur Excel ( Ver 2007 ou >>> 2003 ) le hic se sont les messages à répondre. Il faudrait que cela >>> se fasse sans avoir >>> à répondre à des questions ... >> >> http://excelabo.net/excel/sortirimport.php#pdfacrobat >> >> >> -- >> -- >> ***+ >> ;o))) >> >> > > |
| |||
| Bonsour® Gregory Hilaire avec ferveur ;o))) vous nous disiez : > Je me demande s'il serait possible de définir l'imprimante par défaut > le temps de l'exécution du programme et de > le remettre comme c'était avant en après l'impression ( via VBA?)procédure à adapter : Sub Change_printer() printerold = Application.ActivePrinter MsgBox "L'imprimante active actuelle est : " _ & " >>>>> " & printerold dlganswer = Application.Dialogs(xlDialogPrinterSetup).Show If dlganswer = True Then reponse = MsgBox("L'imprimante active était : " _ & Chr(10) & " ====> " & printerold _ & Chr(10) & " elle sera maintenant : " _ & Chr(10) & " ====> " & Application.ActivePrinter _ & Chr(10) & "Voulez vous confirmer ?", _ vbQuestion + vbYesNo, _ "Changement d'imprimante") If reponse = vbYes Then MsgBox "L'imprimante active actuelle devient : " _ & Chr(10) & " ====> " & Application.ActivePrinter Exit Sub End If Else Application.ActivePrinter = printerold MsgBox "L'imprimante active reste : " _ & Chr(10) & " ====> " & printerold End If End Sub -- -- ***+ ;o))) |
| |||
| Nickel ! Nickel! Nickel! Je n'ai rien d'autre à ajouter. "Modeste you make my day!" J'ai effectivement réduit le code à sa plus simple expressionPrinterold = Application.ActivePrinter Application.ActivePrinter = "Adobe PDF sur Ne09:" Avant le traitement et Application.ActivePrinter = Printerold Après le traitement. ================================================== ======= Donc pour ceux que la question pourrait interesser le code entier devient (Je l'ai un petit peu bidoullé pour qu'il utilise le m6eme nom de fichier que le fichier Excel et que cela se fasse sans arrêt. Car ceci est l'impression d'une facture Excel à partir d'Access ...) ENCORE MERCI A MODESTE ET FRING pour l'aide. Private Sub PrintPDF() ' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm ' adaptée par Trirème, MPFE, septembre 2007 ' L'impression dans un fichier via l'imprimante Acrobat Distiller ' génère un fichier PostScript. On nomme ce fichier avec l'extension .ps ' (mais ça n'est pas obligatoire). ' Dans un deuxième temps ce fichier .PS est converti en .PDF ' Éventuellement cette conversion peut se dérouler en tâche de fond ' automatiquement pendant que la macro continue son exécution. ' Nécessite le référencement à Acrobat Distiller ' http://www.adobe.com/devnet/acrobat/..._reference.pdf ' Define the postscript and .pdf file names. Dim PSFileName As String Dim PDFFileName As String Dim FacFileName As String Dim myPDF As PdfDistiller FacFileName = "Y:\FormaData\Factures\" & Left(ThisWorkbook.name, Len(ThisWorkbook.name) - 4) PSFileName = FacFileName & ".ps" ' Nom complet avec Extension ps PDFFileName = FacFileName & ".pdf" ' Nom complet transformé en pdf ParametreName = "Y:\FormaData\Modele\MesReglages.jopboptions" ' Nom complet Set myPDF = New PdfDistiller ' Création d'une instance Distiller ' myPDF.bSpoolJobs = 0 ' option =0 : conversion immédiate puis reprise de la macro ' à utiliser si la macro imprime un seul document. ' option =1 : conversion en tâche de fond dans un spool ' à utiliser si la macro imprime plusieurs documents dans une boucle ' on gagne ainsi 2-3 secondes à chaque fois. ' Cependant, avec l'option .bSpoolJobs = 1 il faut s'assurer que l'impression se termine ' avant de fermer l'instance de distiller par : Set myPDF = Nothing ' au risque que l'impression du dernier document n'ait pas le temps d'aboutir. ' Bien qu'il existe des évènements permettant de connaitre la fin d'exécution du Job, ' le plus simple est de prévoir une petite temporisation comme ci-dessous : ' Debut = Timer ' Do While Timer < Debut + 3 ' 3 secondes ' Loop ' Set myPDF = Nothing ' ' '1._ Capturer l'imprimante par défaut Printerold = Application.ActivePrinter '2._ Le mettre à Adobe PDF sur Ne09: Application.ActivePrinter = "Adobe PDF sur Ne09:" MsgBox "L'imprimante active actuelle devient : " _ & Chr(10) & " ==> " & Application.ActivePrinter ' Print the Excel sheet to the postscript file Debut = Timer Dim MySheet As Worksheet Set MySheet = ActiveSheet ' Création du fichier .PS MySheet.Range("Zone_d_impression").PrintOut copies:=1, preview:=False, _ ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True, _ prtofilename:=PSFileName ' Convert the postscript file to .PDF myPDF.FileToPDF PSFileName, PDFFileName, ParametreName ' Syntaxe plus complète, si l'on a défini son fichier d'options ' myPDF.FileToPDF PSFileName, PDFFileName, ParametreName Do While Timer < Debut + 5 ' 5 secondes Loop Set myPDF = Nothing ' voir remarque ci-dessus sur myPDF.bSpoolJobs = 1 '3._ Remettre l'imprimante par défaut Application.ActivePrinter = Printerold End Sub |
| |
| |
![]() |
| Tags: impression, pdf, vba, via |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Impression UTF-8 ?? | -enlever- les- parentheses- | Newsgroup fr.comp.mail | 4 | 11/07/2008 14h52 |
| Impression | JP | Newsgroup microsoft.public.fr.ie6 | 3 | 09/06/2008 21h54 |
| Impression en ASP.NET | Jean-Claude | Newsgroup microsoft.public.fr.dotnet.visualstudio | 1 | 27/12/2007 09h34 |
| Impression | tabasko | Newsgroup microsoft.public.fr.dotnet.vb | 2 | 13/12/2007 17h16 |
| IMPRESSION | abysse | Newsgroup fr.comp.sys.divers | 2 | 02/09/2005 13h37 |