OVH Cloud OVH Cloud

Sauver un fichier PDF sous un nom précis

3 réponses
Avatar
Mario
Bonjour,

J'aimerai générer un fichier PDF à partir d'un fichier excel et ensuite le
sauver sous un nom prédéfini dans une macro, comment faire ?
Merci

3 réponses

Avatar
Azo3
installer une "imprimante" PDF comme pdfcreator (gratuit sur le net)
pour la macro...

--
Serge CENCI

MVP Microsoft WORKS

NB - adresse : enlever NOSPAM
"Mario" a écrit dans le message de news:

Bonjour,

J'aimerai générer un fichier PDF à partir d'un fichier excel et ensuite le
sauver sous un nom prédéfini dans une macro, comment faire ?
Merci


Avatar
Mario
Merci, en fait, j'arrive à imprimer avec acrobat distiller, le problème c'est
qu'une fenêtre s'ouvre ensuite obligatoirement et que je dois entrer un nom,
or si je veux automatiser la procédure et la faire tourner à 4 h du mat et
bien, je ne peux pas être là pour entrer un nom.
Alors il y a un champ permettant de sauver sous un certain nom, le problème,
c'est qui'après, le fichier est sauvé en ps et non plus en pdf...

Ce qu'il me faudrait, c'est soit avoir le code pour pouvoir écrire dans la
fenêtre apparue en pop up, soit sauver le fichier avec le nom prédéfini, mais
en pdf et non en ps.

"Azo3" wrote:

installer une "imprimante" PDF comme pdfcreator (gratuit sur le net)
pour la macro...

--
Serge CENCI

MVP Microsoft WORKS

NB - adresse : enlever NOSPAM
"Mario" a écrit dans le message de news:

Bonjour,

J'aimerai générer un fichier PDF à partir d'un fichier excel et ensuite le
sauver sous un nom prédéfini dans une macro, comment faire ?
Merci







Avatar
Eric
Salut

Cela fait pas mal de temps que je me penche sur ce problème de nom avec les
PDF sans trouver de réelle solution.

3 pistes :

1 - Tu peux utiliser dans VBA l'instruction Sendkey (Ton imprimante par
défaut est l'imprimante PDF Acrobat Distiller)

sub ImprimePDF()

' Nomfichier = "i:" & Variable1 & "DG" & Variable2 & Variable3

' Application.SendKeys keys:="c:pdfmonfichier.pdf" + "~", _
Wait:=True

'ou si tu n'utilises pas de variable pour le nom de ton fichier

Application.SendKeys keys:="c:pdfmonfichier.pdf" + "~", _
Wait:=True

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

End Sub

2 - Utiliser un répertoire d'impression définit (ex c:pdf) et une fois le
fichier imprimé le déplacer et le renommer en utilisant FSO (des experts
t'expliqueront surement cette méthode mieux que moi).

Je te conseille de créer une imprimante spécifique utilisant le port
(nouveau répertoire du nom par ex : c:pdf) vers lequel tu imprimes, en
prenant le soin de décocher dans les propriétés de l'imprimante ainsi créée
"Demander le nom du fichier PDF"

tu auras dans ton répertoire, un fichier créer avec le nom de ton classeur
par exemple : classeur1.pdf


3 - Utiliser le logiciel Acrobat Distiller (pas l'imprimante Acrobat
Distiller). Testé avec la version 5

Tu lances Acrobat Distiller
Menu configuration/Dossiers de controle
Ajouter
Choisit un répertoire (Crée un nouveau répertoire, cela évite les mélanges)
par exemple : c:distil
Dans les options tu règles la fréquence à laquelle tu souhaites que
Distiller aille regarder s'il y a un fichier près à être PDifié
Tu fais OK.
Dans ton dossier (ex: c:distil) tu as maintenant un sous dossier In et un
sous dossier Out
Ensuite, il ne te reste plus qu'à créer une imprimante fichier, vers ce
répertoire

Sous windows 2000 (sous XP cela doit être pareil)

Panneau de configurationimprimante
sans sélectionner d'imprimante menu Propriété du serveur/ onglet port
Ajouter un port
Local Port
Dans le nom tu choisis le répertoire que tu as désigné comme étant surveillé
par Acrobat Distiller ainsi que le sous dossier in+ le nom de ton fichier +
extension .prn
ex : c:distilinessai.prn
Tu valides
Ensuite tu rajoutes une imprimante Fichier pointant sur ce port
Ajout d'imprimante/Suivant/imprimante locale
Utiliser le port suivant : tu choisis celui que tu viens de créée
(c:distilinessai.prn)
Suivant
Ensuite tu choisis n'importe quelle imprimante (ex : Canon BJ 10)
Au niveau du nom, par exemple PDF4hdumat
Par défaut ou non
Ce n'est pas la peine d'imprimer de page d'essai.

Tu te retouves dans ta liste des imprimantes avec une ayant comme non
PDF4hdumat

ça y est on est presque au bout

Dans ta macro, il ne te reste plus qu'à definir ton impression vers cette
imprimante.
Excel va alors créé un fichier d'impression du nom essai.prn dans le dossier
c:distilinessai.prn suivant l'exemple pris.
Dès que tu vas lancé Acrobat Distiller, il va aller tranformer tous les
fichiers contenus dans le dossier c:distilin et les tranformer en PDF en
les déplacant dans le dossier Out.

Désolé d'avoir été long, mais je pense qu'avec une des trois solutions tu
devrais pouvoir t'en sortir.
Je ne connais pas de propriété Nom dans le module d'acrobat.Cela serait
tellement simple. Si cela existe, je suis preneur de l'info

Bonne réception
Eric



enlever le chezwanadoo pour me répondre en direct


Mario" a écrit dans le message de
news:
Merci, en fait, j'arrive à imprimer avec acrobat distiller, le problème
c'est

qu'une fenêtre s'ouvre ensuite obligatoirement et que je dois entrer un
nom,

or si je veux automatiser la procédure et la faire tourner à 4 h du mat et
bien, je ne peux pas être là pour entrer un nom.
Alors il y a un champ permettant de sauver sous un certain nom, le
problème,

c'est qui'après, le fichier est sauvé en ps et non plus en pdf...

Ce qu'il me faudrait, c'est soit avoir le code pour pouvoir écrire dans la
fenêtre apparue en pop up, soit sauver le fichier avec le nom prédéfini,
mais

en pdf et non en ps.

"Azo3" wrote:

installer une "imprimante" PDF comme pdfcreator (gratuit sur le net)
pour la macro...

--
Serge CENCI

MVP Microsoft WORKS

NB - adresse : enlever NOSPAM
"Mario" a écrit dans le message de
news:



Bonjour,

J'aimerai générer un fichier PDF à partir d'un fichier excel et
ensuite le



sauver sous un nom prédéfini dans une macro, comment faire ?
Merci