Enregistrer impression automatiquement

Fab291

XLDnaute Junior
Bonjour,

J'aurais voulu savoir comment enregistrer une impression pdf automatiquement avec un le nom qui change en fonction d'une cellule.

J'ai déjà réaliser plusieurs recherche sur le forum mais les codes me paraissent ne pas convenir à se que je recherche vraiment.

Si vous pouviez m'aider à trouver un code simple... merci :)
 

Fab291

XLDnaute Junior
Re : Enregistrer impression automatiquement

Oui j'ai déjà effectué ce genre de recherche...
Malheureusement il y a toujours des conditions qui complique tout.
je veux juste un code, le plus simple possible, qui permette d'enregistrer une impression PDF.

Est-ce possible? :)
 

YANN-56

XLDnaute Barbatruc
Re : Enregistrer impression automatiquement

Bonjour Fab291, Bruno, et à ceux qui passeront par là.

En premier lieu: Il est serait plus élégant d'éviter de dire "Je veux" :)

Si tu as PDFCreator installé, tu peux tenter ceci:

Code:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                              (ByVal hwnd As Long, ByVal lpOperation As String, _
                               ByVal lpFile As String, ByVal lpParameters As String, _
                               ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub CONVERSION_EN_PDF()

Dim CREATION_PDF As PDFCreator.clsPDFCreator
Dim Destination As String
Dim NOM_PDF As String

NOM_PDF = ActiveSheet.Cells(1, 1).Text ' PAR EXEMPLE

Destination = ThisWorkbook.Path & "\EXERCICE\FORMAT_PDF\" ' A ADAPTER SUIVANT TON CAS

Set CREATION_PDF = New PDFCreator.clsPDFCreator

With CREATION_PDF
'La condition ci-dessous empêche l'ouverture de la boite de dialogue de PDFCreator
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + _
vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = Destination
.cOption("AutosaveFilename") = NOM_PDF & ".pdf"
.cOption("AutosaveFormat") = 0 ' 0 = PDF
.cClearCache
End With
'Convertit le document en PDF
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
'Attend que le document soit entré dans la file de Création
Do Until CREATION_PDF.cCountOfPrintjobs = 1
DoEvents
Loop
CREATION_PDF.cPrinterStop = False
'Attend que la Création du document PDF soit terminée
Do Until CREATION_PDF.cCountOfPrintjobs = 0
DoEvents
Loop
CREATION_PDF.cClose
Set CREATION_PDF = Nothing
End Sub

A noter qu'il y a peut-être plus simple:confused:

Amicalement

Yann
 

Fab291

XLDnaute Junior
Re : Enregistrer impression automatiquement

Dans un premier lieu : il serait bien que tu te détende. :)

J'ai effectivement PDFCREATOR d'installé sur mon ordinateur mais en essayant le code un problème apparait dès la première ligne. Apparemment c'est le "PDFCreator.clsPDFCreator" qui ne marche pas.

Quel est le problème? :confused:
(JE VEUX la solution ! ;))

Merci:)
 

YANN-56

XLDnaute Barbatruc
Re : Enregistrer impression automatiquement

Re Kenavo.

Un croquis valant mieux qu'un long discours.

Je t'ai construit un exemple.

Faut pas m'énerver!!!

Bon! Le résultat est un peu en désordre quant à la destination,
mais il faut bien te laisser quelque chose à faire. :)

J'espère que cela va enfin fonctionner chez toi.

Au plaisir

Yann

A noter qu'en essayant d'aider, cela nous permet
souvent de découvrir nos erreurs...
 

Pièces jointes

  • BZH.zip
    36.2 KB · Affichages: 39
  • BZH.zip
    36.2 KB · Affichages: 40
  • BZH.zip
    36.2 KB · Affichages: 38
Dernière édition:

Fab291

XLDnaute Junior
Re : Enregistrer impression automatiquement

Mille mercis mon petit Yann !
Effectivement j'avais pas coché PDFCreator (d'ailleurs j'étais pas au courant qu'on pouvais faire ça :rolleyes:)
T'as macro marche nickel chez moi.
Dsl pour la réponse tardive...

Il y a cependant (et tu t'en doute) quelques petites choses que je ne comprend pas dans le code VBA... pourrais-tu m'aider encore une fois? :eek:

1/ Pourquoi cette encadré en haut apparait?
"Declare Function ShellExecute ..." etc

2/ Qu'est-ce que veut dire cette ligne?
"Dim CREATION_PDF As PDFCreator.clsPDFCreator"

Merci :)
 

YANN-56

XLDnaute Barbatruc
Re : Enregistrer impression automatiquement

Sale gosse, tu es en train de gâcher mon apéro! :D
Comment t'as vu que je n'étais pas grand ???

(d'ailleurs j'étais pas au courant qu'on pouvais faire ça )
Moi j'aurais dit: "Je n'étais pas au courant que l'on était obligé de le faire"… Et toc! :)

Et bien; si… Sinon Bill ne comprend pas …

J'ai été toujours intrigué par cette "Declare Function ShellExecute" :confused:

Je ne suis pas un "Pro" : Je n'ai fait que constater qu'il était indispensable de l'écrire,
par suite de ce que j'ai pu trouver dans les aides.

"Dim CREATION_PDF As PDFCreator.clsPDFCreator"

Ici "CREATION_PDF" n'est qu'une adaptation personnelle pour mieux m'y retrouver.
Quant à la suite, cela me semble être un ordre obligé pour commander PDFCreator.

Je suis content que ce code marche chez toi.
Pour l'instant, je m'en satisfais bien de mon coté.

Je sais qu'un peu plus tard, je vais avoir besoin de préciser
les attributs (Propriétés) des fichiers PDF créés.
pour qu'avec un " GetDetailsOf" je puisse les ajouter dans une ListView.

Pour l'instant, je suis sur autre chose.
Mais si dans tes recherches tu améliores mon truc; je suis preneur.

Et aussi disposé à répondre, dans la limite de mes connaissances,
aux questions que tu pourrais te poser, ou autres résultats que tu pourrais souhaiter.

Amicalement.

Yann
 
Dernière édition:

Fab291

XLDnaute Junior
Re : Enregistrer impression automatiquement

Lol, désolé pour ton apéro :)
Et pour la petitesse de ta taille c'est mon petit doigt qui me l'a dit...
Mais t'inquiète pas il a rajouté "petit par la taille mais grand par l'esprit" (je flatte:p)
En tout cas merci pour ton aide
Je sais vers qui me tourner maintenant :p

Amicalement ;)

Fab
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813