OVH Cloud OVH Cloud

Imprimer vers pdf nommé nouveau fil

70 réponses
Avatar
rthompson
Bonjour à toutes et tous

Je me suis permis de commencer un nouveau fil
Pour deux raisons
Primo, je commence à me perdre dans l'autre
Et puis ceci intéresse peut-être d'autres

Mais que tout ceci ne m'empêche pas de remercier ceux qui m'aident
JPS, Lsteph, Trirème, Philippe, François

On approche du but !!!!!!

Pour rappel, il s'agit de faire imprimer une feuille Excel (pas le tout)
vers un fichier PDF

Commençons par un bout de code qui fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Range("C4").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("E2").Select
Application.CutCopyMode = False
Range("E2").Select
Selection.Copy
Application.CutCopyMode = False
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"CutePDF Writer on CPW2:", Collate:=True

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ce code fonctionne, mais demande confirmation d'un nom de fichier
Et prend comme nom par défault celui du fichier
Et il crée un fichier (une seule feuille) lisible par Acrobat de 150Kg

Et ce n'est pas le but rechercher
Donc après moulte échanges j'ai trouvé ce code-ci
On change juste les dernières lignes

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrintToFile:=True,
PrToFilename:="PDFname.pdf"
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ce code-ci tourne jusqu"au bout, sans message de confirmation
Juste une fenêtre "Printing to Cute....." pendant quelques secondes
Il crée un fichier PDFname.pdf de 250Kg dans le répertoire du fichier
Mais quand j'essaie de l'ouvrir Acrobat me dit
que ce n'est pas un fichier pdf ou qu'il est tronqué ou endommager


Alors je continue mais si ceci vous dit quelque chose
N'hésitez pas

A très bientôt

Rex

10 réponses

3 4 5 6 7
Avatar
Rex
BONSOIR !!!!!!!!

Oui je t'écoute

Et je viens de terminer de manger
Et si tu dis que ça fais longtemps pour manger
Fais ton compte 35Km de bouchon, une heure de shopping
Une heure et demie de cuisine
Et le reste en conviabilités diverses

L'important est que je sois là, maintenant
Et je suppose que toi t'es plus là?

Je vais publier une réponse collective dans quelques minutes
Vous êtes tellemnt nombreux à vous battre pour m'aider ;-)))

A tout de suite

Rex ;-))) )))
"Trirème" a écrit dans le message de news:

Bon, ben finalement je réponds sur ce fil aussi.
Il y a si peu de récits d'expériences réussies que je passe mon expérience
à

la postérité.

J'expliquais tantôt que moi j'utilisais Acrobat Distiller en 2 temps.
1) Impression vers un fichier .prn via la macro en définissant le nom
souhaité.
2) Conversion en tâche de fond (Background pour Rex) par Acrobat
Distiller.


Je viens de trouver ça :
http://www.rdpslides.com/psfaq/FAQ00053.htm
Je le recopie :
Private Sub CommandButton1_Click()
' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
PSFileName = "c:myPostScript.ps"
PDFFileName = "c:myPDF.pdf"

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
Dim myPDF As PdfDistiller
Set myPDF = New PdfDistiller
myPDF.FileToPDF PSFileName, PDFFileName, ""

End Sub

Il suffit de référencer Acrobat Distiller pour disposer des objets
nécessaires.
En l'adaptant, au boulot ça marche avec la version 5 d'Acrobat Distiller.
C'est à dire que j'arrive maintenant à faire mes 50 fichiers uniquement
avec

ma macro, sans passer par la tâche de fond cf fil précédent.

Si l'on a plusieurs impressions à faire il ne faut lancer l'instance
Set myPDF = New PdfDistiller
qu'une seule fois, avant une boucle par exemple. Ou alors on la supprime
par

un
Set myPDF = Nothing

Dis Rex, tu m'écoutes ou tu es encore en train de manger ?
Je crois savoir d'où il vient son double-menton dont il nous nargue sans
cesse

:-))))))))

Je me suis permis de commencer un nouveau fil
..., je commence à me perdre dans l'autre
Ben il est devenu aussi obèse que le précédent.

Il faudra penser à en faire une synthèse.

Cordialement,
Trirème





Avatar
Rex
Bonsoir

Moi aussi je lis

Mais avec du retard

Je vais, et je l'ai déjà dis, faire une réponse collective dans un instant

A tout de suite


Rex ;-)) )))




"lSteph" a écrit dans le message de news:

Au moins un qui lit, ça fait plaisir..

c'est un peu vrai mais ..elle ne s'y termine pas..il faut valider
c'est tout (..avec PDFCreator)
l'ancienne imprimante est ensuite rétablie

et avec d'autres c'est pas forcé ex: PDFWriter, la macro file
jusqu'au bout sans rien demander.
remarque, si on a ce dernier, on peut utiliser ConvertToPdf
directement!

@+

lSteph

On 5 sep, 17:23, "jps" wrote:
bonjour stéphane
moi, je n'ai pas d'erreur avec ta proc mais elle présente le gros
inconvénient de devoir faire la manip' d'enregistrement du fichier .pdf
puisque la proc se termine sur l'ouverture de la fenêtre qui permet
cela....

mais bon.....comme tu dis!
jps

"lSteph" a écrit dans le message de news:

Bonjour,

;o)
Ben Voui!> un truc qui a son importance

ça c'est inclus (variable thisP) dans le code que j'ai proposé mais
bon...!
Pourtant il fonctionne en 2003 et en 97
Faut juste répondre OK si on utilise PDFCreator
et rien à répondre avec PDFWriter.
Si on (Rex ???1004) me dit où ça bugue...
@+

lSteph

On 5 sep, 16:34, "jps" wrote:

oops
un truc qui a son importance, je pense, c'est remettre ton imprimante
réelle
opérationnelle en fin de proc sinon tu vas avoir la surprise si tu veux
imprimer tes mémoires juste après les avoir mises en.pdf....
donc, à adapter et à mettre juste avant le End Sub :

Application.ActivePrinter = "EPSON EPL-5700 sur LPT1:"

HTH
jps

"jps" a écrit dans le message de news:


re rex
voilà, servie sur un plateau, une proc que tu mets dans ton perso.xls,
que
tu affectes à un bouton de ta BO et pour chaque classeur que tu
voudras



créer en .pdf, il te suffira de l'ouvrir et de cliquer sur ledit
bouton



je ne sais pas par contre si cette proc crée des multifeuilles mais
papou
va savoir nous le dire
jps

Sub CreeFichierPDF()
Dim AppPdf As Object
Set AppPdf = CreateObject("PDFCreator.clsPDFCreator")
With AppPdf
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") = ActiveWorkbook.path & ""
.cOption("AutosaveFilename") = ActiveWorkbook.Name & ".pdf"
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until AppPdf.cCountOfPrintjobs = 1
DoEvents
Loop
AppPdf.cPrinterStop = False

'Wait until PDF creator is finished then release the objects
Do Until AppPdf.cCountOfPrintjobs = 0
DoEvents
Loop
AppPdf.cClose
Set AppPdf = Nothing
End Sub

"jps" a écrit dans le message de news:
u$
bonjour rex
pour le nom de ton fichier et dans la proc au titre ci-dessous, tu
bricoles au niveau des *******
jps

Sub PrintToPDF_Early()
'Author : Ken Puls (www.excelguru.ca)
'Macro Purpose: Print to PDF file using PDFCreator
' (Download fromhttp://sourceforge.net/projects/pdfcreator/)
' Designed for early bind, set reference to PDFCreator

Dim pdfjob As PDFCreator.clsPDFCreator
Dim sPDFName As String
Dim sPDFPath As String

'/// Change the output file name here! ///
sPDFName = ActiveWorkbook.Name & ".pdf" ************

"rthompson" a écrit dans le
message




de
news:



%23dd2tK87HHA.5...__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!
TNGP02.phx.gbl...


Bonjour JPS

Chez moi j'ai installé la dernière versio de PDFcraetor

Et il fonctionne à multiple reprise (jusqu'à présent)

Mon seul problème est le nom de fichier

A plus tard

ET MERCI

Rex ;-))) )))

"jps" a écrit dans le message de news:

merci papou
mais je n'y comprends plus rien : j'ai pu faire marcher une fois la
proc savante et maintenant on me dit "can't initialize PDFCreator"
et si je fais Imprimer sur PDFCreator, je n'ai plus le panneau qui
s'affiche
et si enfin je vais dans l'explorateur et clique le .exe de
PDFCreator
: oualou de chez oualou
qu'est ce que cette proc a bien pu détruire pour que PFD Creator ne
fonctionne plus?
à vot' bon coeur...
jps

"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message
de
news:



ex6I5N67HHA....__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!
NGP06.phx.gbl...




Le fichier est situé dans le même répertoire que ton classeur en
principe.
Cordialement
Pascal

"jps" a écrit dans le message de news:
%
re re papou
c'était bien ça, je pense puisque la proc a fonctionné mais par
contre je ne sais pas où est allé se mettre le fichier .pdf!!!
en avant nosotres pour la recherche
jps

"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le
message








denews:

uYEtJs57HHA....__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!








6.phx.gbl...
Rex
Je viens de tester c'est fonctionnel.
A adapter à ton cas probablement.

Cordialement
Pascal

"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le
message
denews:

ubBUDb57HHA.4...__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!









03.phx.gbl...
Bonjour Rex
Je viens de trouver ce lien sur Excel.Programming :
http://www.excelguru.ca:80/node/21

Par contre il faut noter que l'utilisation se fait à partir de
PDFCreator.
Par curiosité je vais tester et je te tiens au courant.

Cordialement
Pascal

"rthompson" a écrit dans le
message denews:

eSa1vQ57HHA.5...__END_MASK_i?a63jfAD$__BEGIN_MASK_n#9g02mG7!










05.phx.gbl...
Bonjour à toutes et tous

Je me suis permis de commencer un nouveau fil
Pour deux raisons


Primo, je commence à me perdre dans l'autre
Et puis ceci intéresse peut-être d'autres

Mais que tout ceci ne m'empêche pas de remercier ceux qui
m'aident
JPS, Lsteph, Trirème, Philippe, François

On approche du but !!!!!!

Pour rappel, il s'agit de faire imprimer une feuille Excel
(pas











le
tout) vers un fichier PDF

Commençons par un bout de code qui fonctionne
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Range("C4").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Range("E2").Select
Application.CutCopyMode = False
Range("E2").Select
Selection.Copy
Application.CutCopyMode = False
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
ActivePrinter: > > >>>>>>>>> _
"CutePDF Writer on CPW2:", Collate:=True

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ce code fonctionne, mais demande confirmation d'un nom de
fichier
Et prend comme nom par défault celui du fichier
Et il crée un fichier (une seule feuille) lisible par Acrobat
de
150Kg

Et ce n'est pas le but rechercher
Donc après moulte échanges j'ai trouvé ce code-ci
On change juste les dernières lignes

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Application.ActivePrinter = "CutePDF Writer on CPW2:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
PrintToFile:=True, PrToFilename:="PDFname.pdf"
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ce code-ci tourne jusqu"au bout, sans message de confirmation
Juste une fenêtre "Printing to Cute....." pendant quelques
secondes
Il crée un fichier PDFname.pdf de 250Kg dans le répertoire du
fichier
Mais quand j'essaie de l'ouvrir Acrobat me dit
que ce n'est pas un fichier pdf ou qu'il est tronqué ou
endommager

Alors je continue mais si ceci vous dit quelque chose
N'hésitez pas

A très bientôt

Rex






















Avatar
Rex
Bonsoir à toutes et tous

Je viens de télécharger PDFcreator à la maison du site

http://www.01net.com/windows/Bureautique/editeur_de_texte/fiches/26668.html

Et il semble avoir installer un virus Troyan

Après avoir bloqué ma connexion

Lors de la mise en route mon firewall me signale

qu'un program essaie de contacter toutes mes addresses courriels

Dons je vais devoir faire un nettoyage complet

Je vous répondrai sur ce fil demain d'un PC clean

Soyez gentil de faire gaffe

Si possible de vérifier le site

Et surtout de prévenir les copains et copines

Bonne nuit et à demain

Je déconnecte

Rex ;-(((((((







"Misange" a écrit dans le message de news:
etDUdM$
Salut François
Fais bien tous les tests ! j'ai acrobat complet et du coup je ne
souhaite pas installer pdf creator (dont on se passe de toutes façons
avec xl2007) alors je compte sur vos tests à tous avec différentes
configs ;-)
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

évidemment ! je suis le fil ;-)


Bonsoir Flo,

Pour ce qui me concerne, je ferai des tests plus poussés avec la config
indiquée dans mon post : XP pro + XL97 + PDFCreator 0.9.0

De ce que j'ai vu, je n'ai pas rencontré les problèmes signalés par le
président jps, mais je regarderai cela de plus près.

Pour Distiller, je n'ai pas l'article.






Avatar
Rex
Bonsoir à toutes et tous

Tout d'abord mes excuses

Pour le retard et le virus
J'espère qu'il n'a pas eu le temps de faire des dégats

Ce message est un peu (même beaucoup d'ailleurs) long désolé ;-((

Ci-dessous je vous mets le code complet de ma procedure

ET QUI FONCTIONNE


Merci les gars, je ne le dirais jamais assez

Je tourne ici sous Windows 2000 et au boulot sous XP Pro
Dans les deux cas Office Pro 2003 version Française
Et j'ai depuis peu installé PDFcreator qui fonctionne bien mais faites
gaffes au fourniseurs !!!!!!

Je n'ai pas réussi à faire la même chose avec CutePDF
et ce malgré l'aide courageuse et efficace de nombreux "Groupistes"



La procédure dure un certain temps entre dix et quinze secondes

Il y a un message qui apparait une fraction de seconde
Sinon tout est transparent et ne nécessite aucune manip supplémentaire

Petite description de l'environement
Et toutes mes excuses (Milliards, je ne fais plus que m'excuser ces
temps-ci)
pour le savant mélange de Français et d'Anglais

Un fichier comprenant (actuellement) une quinzaine de feuilles
De la feuille "Tracking Orders" je contrôle les statuts des mes transactions
qui vont de:
Offres - Ordered - Oder to Promethean - Delivered - Invoice
Request - Invoice - Paid

sur la feuille "tracking Orders" grâce à un subtil jeu de list cascadées
(Merci les gars)
je peux sélectionner l'offre de mon choix et la transformer

Sur cette feuille il y a une série de boutons
Un pour chaque étape
Les macros de chaque bouton sont très similaires

On ajoute d'abord une date de changement de status sur la feuille Offres
Puis on copies l'info affiché sur une feuille "Printing Offers"
La elle est un peu mis en place
Cette feuille est mise en page style Courrier avec en-tête et pied et
salutations etc
Et puis la macro envoi cette page vers un fichier PDF dans le répertoire
Orders
et sous le nom qui se trouve dans la cellule C4 de la feuille "Tracking
Orders"

Elle ne sauve que cette feuille là et je n'ai plus qu'à la faxer ou
courrieller au client

Je vais maintenant faire la même chose pour les autres étapes et si cela
vous intéresse
une fois le fichier fini je le posterais avec joie


Donc voici le code complet y compris la partie Print to PDF

Une macro réalisé avec l'aide précieuse de (et je sais que je vais en
oublier, PARDON)
LSteph, Modeste, François, Philippe, Papou, Trirème et ceux que j'ai oublié

MERCI MERCI MERCI

Pour celui-ci est pour le boulot que vous faîtes tous les jours
Et un grand meric à notre ange à nous Misange


Rex ;-))) )))


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub Ordered()

' the first bit inserts todays date in the Ordered colonne of the Offers
sheet
Sheets("Offers").Cells([A2], 148) = [F4]
' Then we print the info to a pdf file
'We don't want to see what's happening now, do we?
Application.ScreenUpdating = False
' First clean up the Printing_Offers sheet

Sheets("Printing_Offers").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("K2").Select
Sheets("Tracking_Orders").Select
' Copy all the info from the Tracking_Orders sheet

Sheets("Tracking_Orders").Select
Range("A1:M192").Select
Selection.Copy
Sheets("Printing_Offers").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats,
Operation:= _
xlNone, SkipBlanks:úlse, Transpose:úlse
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse

' Clean up up all the unwanted info

Dim plg As Range
' There are two ways to define a multiple range selection
' Set plg = Union(Range("A10"), Range("A48:B48"), Range("A2"),
Range("I12:J13"), Range("A16:C16"), Range("G18:L67"))
Set plg = Range("A10,A48:B48,A16:C16,G18:L67")
With plg
.ClearContents
.Interior.ColorIndex = xlNone
.Borders.LineStyle = xlNone
End With

' trying to hide the zero lines
' Maintenant que "Offre_Nom" est modifié on s'occupe de masquer/démasquer
les lignes nulles... ou en erreur
For Each C In Range("D2:D185")
If IsError(C.Value) Then ' c peut contenir une erreur
C.EntireRow.Hidden = True
ElseIf C.Value = 0 Then ' mais ce qui t'intéresse c'est une valeur
nulle
C.EntireRow.Hidden = True
Else 'If c.Value = 0 Then ' mais ce qui t'intéresse c'est une
valeur nulle
C.EntireRow.Hidden = False
End If
Next C


' hiding the transaction definition and username
Range("I3:K4").Select
Selection.Interior.ColorIndex = xlNone
Selection.Borders.LineStyle = xlNone
Selection.Font.ColorIndex = 2

Range("A1").Select

' Now we have to print the info to a order-confirmation PDF for the customer

Dim MonNomdeFichier As String
MonNomdeFichier = Range("C4").Value
Dim AppPdf As Object
Set AppPdf = CreateObject("PDFCreator.clsPDFCreator")
With AppPdf
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") = _
"C:AA-Rex-DataSalesPDFOrder pdf" & Application.PathSeparator
.cOption("AutosaveFilename") = MonNomdeFichier
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until AppPdf.cCountOfPrintjobs = 1
DoEvents
Loop
AppPdf.cPrinterStop = False

'Wait until PDF creator is finished then release the objects
Do Until AppPdf.cCountOfPrintjobs = 0
DoEvents
Loop
AppPdf.cClose
Set AppPdf = Nothing
Range("E2").Select
Selection.ClearContents

' Go back to the Tracking_Orders Sheet
Sheets("Tracking_Orders").Select
Range("I58").Select
' We need to re-activate the screen
Application.ScreenUpdating = True
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxx
Avatar
Trirème
évidemment ! je suis le fil ;-)
Quel courage, tu parles d'une pelote ;-) Mais je crois qu'elle vaut le coup.

(HS Et bravo pour le MVP. Le logo sur disciplus... ça le fait...)

Fais bien tous les tests ! j'ai acrobat complet et du coup je ne
souhaite pas installer pdf creator (dont on se passe de toutes façons
avec xl2007) alors je compte sur vos tests à tous avec différentes
configs ;-)
Oui, notamment pour Distiller, les réglages des protections, des rotations

automatiques...
Apparemment l'instance créée en VBA reprend les réglages choisis lorsqu'on
utilise Distiller en tâche de fond. Reste à voir comment utiliser ponctuellement
d'autres réglages par VBA.
À suivre.

Cordialement,
Trirème

Avatar
rthompson
Bonjour

Je vais avoir peur de poser certaines questions dorénavant

Si j'ajoute les deux fils de ce sujet nous sommes à plus de 80 messages
!!!!!

Et j'ai peur d'oublier de remercier quelqu'un

Donc je passe toi pour dire un grand merci à tous ceux qui m'ont aidé

Mais cela ne s'arrête pas là

Mon problème est résolu, et je vais continuer des testes
Je ne comprends pas pourquoi cela ne fonctionne pas avec CutePdf

Malgré les bouts de codes de l'un et de l'autre

J'espère que tu es plus intelligente que moi et que toi (ou un autre)
parviendra à nous concocter un code presque universel

Ce serait bien de pouvoir par exmple sélectionner une cellule
de cliquer (au fait écrit-on clicker, cliquer, clicquer ou clicker?)
sur le bouton et que le fichier PDF porte le nom de la cellule sélectionné

Un truc avec ActiveCell
Je n'en ai pas besoin, mais ce serait peut-être utile

Bon courage et SURTOUT merci pour ton boulot


Rex ;-))) )))

"Misange" a écrit dans le message de news:
uS1NEG%
évidemment ! je suis le fil ;-)
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,

Avec tout ça, on tient sans doute des solutions adaptés à Distiller et à
PDFCreator. Si on arrivait à faire une synthèse de ce qui marche et de ce
qui ne marche pas, et dans quelles conditions... peut-être que Misange
nous le mettrait sur le Disciplus pour la postérité.





Avatar
Modeste
Bonsour® rthompson avec ferveur ;o))) vous nous disiez :

au fait écrit-on clicker, cliquer, clicquer ou clicker?


cliquer /kli.ke/ 1er groupe (conjugaison)
(Informatique) Enfoncer et relâcher le bouton-poussoir (ou cliquet) d'une souris
ou d'un dispositif similaire.
Traductions
anglais : click (en)* (on)
espagnol : pinchar (es)*, cliquear (es)*, hacer clic (es)*

http://fr.wiktionary.org/wiki/cliquer



@+
;o)))

Avatar
rthompson
Bonjour et merci

Les langues se suivent se ressemblent et ne parlent pas de la même chose

Pinchar ressemble fort à l'anglais to pinch (Pincer)
Et aussi à Pinchard dessinateur Français

A moins que ce ne soit Pichard, je ne sais plus
C'est celui qui faisiat Paulette BD un peu "Crue"

A plus tard

Rex



"Modeste" a écrit dans le message de news:

Bonsour® rthompson avec ferveur ;o))) vous nous disiez :

au fait écrit-on clicker, cliquer, clicquer ou clicker?


cliquer /kli.ke/ 1er groupe (conjugaison)
(Informatique) Enfoncer et relâcher le bouton-poussoir (ou cliquet) d'une
souris ou d'un dispositif similaire.
Traductions
anglais : click (en)* (on)
espagnol : pinchar (es)*, cliquear (es)*, hacer clic (es)*

http://fr.wiktionary.org/wiki/cliquer



@+
;o)))




Avatar
Trirème
Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne accès à
de nouveaux objets avec leurs méthodes, propriétés et évènements. Dans le code
ci-dessous 2 méthodes et 1 propriétés sont utilisées. Pour mieux les utiliser et
connaitre les autres, lire Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf (version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera celui
utilisé au cours du dernier lancement en direct. Ce fichier prend en compte des
réglages de couleur, de compatibilité avec les versions d'Acrobat Reader, de
cryptage... Le choix se fait un peu selon que l'on visualise le fichier à
l'écran ou qu'on l'imprime, car il y a une option de rotation ou non des pages
en paysage. Plus d'informations en lançant Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier d'options.
Acrobat Distiller autorise ou non : l'impression du document, la modification,
la sélection-copie du contenu, l'ajout de commentaires, l'extraction de pages,
l'assemblage de pages, l'usage d'un mot de passe... On peut modifier ces
paramètres en lançant Acrobat Distiller en direct mais pas par macro. La macro
ci-dessous ne fera que prendre en compte les paramètres utilisés au cours du
dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode FileToPDF2
utilisant un 4ème paramètre booléen semblant faire référence à la sécurité
évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and SettingsAll
UsersDocumentsAdobe PDFSettings et portent l'extension .jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences : com.adobe.AdobePDFSettings.plist.
(in /Library/Preferences/).

Enfin, le code :

' **********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' 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).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' É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/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
' **********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème
Avatar
Misange
merci Trirème de m'avoir ainsi simplifié grandement le travail :-)
J'espère avoir le temps ce WE de mettre tout ça en ligne.
Ca fait vraiment plaisir de voir ce beau travail collaboratif. Rappel,
XlWiki permet à tous ceux qui veulent partager leurs connaissances
d'écrire directement sans avoir besoin d'attendre mes disponibilités
d'éditrice. Pour ceux qui voudraient participer à xlwiki et qui ne se
seraient pas déjà enregistré, il faut me mettre un mail : impossible de
laisser l'accès libre, il y a UN crétin (un seul hélas ça suffit) qui
met le bazar. Il doit avoir un robot car sitôt que j'essaie de débloquer
l'accès (même après plusieurs semaines de fermeture) il est à nouveau
là. Y en a qui n'ont vraiment rien à faire de leur temps...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir,
(recopie et enrichissement du post du 05/09/2007 de ce fil)

Il s'agit d'imprimer une feuille ou tout un classeur Excel vers un
document pdf.
Le procédé décrit ici utilise Acrobat Distiller, programme payant.
Testé avec Acrobat Distiller 5.0, Excel 2002, XP pro

Le référencement d'Acrobat Distiller dans VBA est nécessaire. Il donne
accès à de nouveaux objets avec leurs méthodes, propriétés et
évènements. Dans le code ci-dessous 2 méthodes et 1 propriétés sont
utilisées. Pour mieux les utiliser et connaitre les autres, lire
Acrobat® Distiller® API Reference ici :
http://www.adobe.com/devnet/acrobat/pdfs/distiller_api_reference.pdf
(version 8.0)
Extraits :
FileToPDF : Soumet un fichier PostScript à Distiller.
Parameters
strInputPostScript Le fichier PostScript à convertir.
strOutputPDF Le nom du fichier PDF en sortie.
strPDFOptions Le nom et le chemin du fichier d'options à utiliser.

Si ce dernier fichier d'options n'est pas précisé, la macro utilisera
celui utilisé au cours du dernier lancement en direct. Ce fichier prend
en compte des réglages de couleur, de compatibilité avec les versions
d'Acrobat Reader, de cryptage... Le choix se fait un peu selon que l'on
visualise le fichier à l'écran ou qu'on l'imprime, car il y a une option
de rotation ou non des pages en paysage. Plus d'informations en lançant
Acrobat Distiller lui-même en direct.

Les paramètres de protection ne sont pas décrits dans ce fichier
d'options. Acrobat Distiller autorise ou non : l'impression du document,
la modification, la sélection-copie du contenu, l'ajout de commentaires,
l'extraction de pages, l'assemblage de pages, l'usage d'un mot de
passe... On peut modifier ces paramètres en lançant Acrobat Distiller en
direct mais pas par macro. La macro ci-dessous ne fera que prendre en
compte les paramètres utilisés au cours du dernier lancement en direct.
Entre la version 5 testée et la version 8 est apparue la méthode
FileToPDF2 utilisant un 4ème paramètre booléen semblant faire référence
à la sécurité évoquée ici.

Les fichiers de paramètres prédéfinis sont ici : C:Documents and
SettingsAll UsersDocumentsAdobe PDFSettings et portent l'extension
.jopboptions

Sinon, les paramètres par défaut sont inscrits
pour Windows dans la base de registre :
MyComputerHKEY_LOCAL_MACHINESOFTWAREAdobePDF Settings
et pour Mac dans le fichier des préférences :
com.adobe.AdobePDFSettings.plist. (in /Library/Preferences/).

Enfin, le code :

' **********************************************************************
Private Sub ImprimePDF()
' original code there : http://www.rdpslides.com/psfaq/FAQ00053.htm

' 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).
' Ce fichier .ps est converti en .pdf dans un deuxième temps
' É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/pdfs/distiller_api_reference.pdf

' Define the postscript and .pdf file names.
Dim PSFileName as String
Dim PDFFileName as String
Dim myPDF As PdfDistiller
PSFileName = "c:myPostScript.ps" ' Nom complet
PDFFileName = "c:myPDF.pdf" ' Nom complet
ParametreName = "c:MesReglages.jopboptions" ' Nom complet

Set myPDF = New PdfDistiller ' Création d'une instance Distiller
myPDF.bSpoolJobs = 1 ' 1 conversion en tâche de fond dans un spool
' 0 conversion immédiate puis reprise de la macro

' Print the Excel range to the postscript file
Dim MySheet As WorkSheet
Set MySheet = ActiveSheet

' Création du fichier .ps
MySheet.Range("myRange").PrintOut copies:=1, preview:úlse,
ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True,
prtofilename:=PSFileName

' Convert the postscript file to .pdf
myPDF.FileToPDF PSFileName, PDFFileName, ParametreName
' Peut se résumer à
myPDF.FileToPDF PSFileName, "", ""

Set myPDF = Nothing
End Sub
' **********************************************************************

Pour CutePDF, je suis sur une piste.
Cordialement,
Trirème


3 4 5 6 7