Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup microsoft.public.fr.* 1 Forum > Newsgroup microsoft.public.fr.excel
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 15/04/2008, 02h24
Gregory Hilaire
 
Messages: n/a
Par défaut Impression en PDF Via VBA

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



Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 15/04/2008, 11h49
Fring
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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
>
>
>



Réponse avec citation
  #3 (permalink)  
Vieux 15/04/2008, 12h27
Modeste
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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)))


Réponse avec citation
  #4 (permalink)  
Vieux 15/04/2008, 17h18
Fring
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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)))
>
>



Réponse avec citation
  #5 (permalink)  
Vieux 16/04/2008, 10h43
Gregory Hilaire
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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)))
>
>



Réponse avec citation
  #6 (permalink)  
Vieux 16/04/2008, 11h01
Gregory Hilaire
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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)))
>>
>>

>
>



Réponse avec citation
  #7 (permalink)  
Vieux 16/04/2008, 12h31
Modeste
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA

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)))


Réponse avec citation
  #8 (permalink)  
Vieux 17/04/2008, 01h37
Gregory Hilaire
 
Messages: n/a
Par défaut Re: Impression en PDF Via VBA [Resolu]

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 expression

Printerold = 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


Réponse avec citation
 
Réponse
Tags: , , ,



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

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


Fuseau horaire GMT. Il est actuellement 07h52.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,58205 seconds with 11 queries