Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

hyperion66

XLDnaute Nouveau
Bonjour à tous et toutes,
Nouveau sur le forum, bien que cela fait un petit moment que je passe quand j'ai besoin d'aide....
Pour ma future activité, je crée une facture sous Excel. J'ai créé une macro qui permet d'enregistrer la facture dans un dossier portant le nom du client, le fichier étant automatiquement nommé avec la date et le numéro de facture. Voilà le code.
Code:
Sub Enregistrement()
Dim Chemin1$, Chemin2$, Client$, Fichier$, Numfact$, Jour$
Chemin1 = "D:\Gestion\Factures\"
Chemin2 = "H:\Zerobug backup\Factures\"
Jour = Format(Day(Now()), "00") & Format(Month(Now()), "00") & Year(Now)
Client = Range("G4")
Numfact = Range("H12")
Fichier = Jour & "_" & Numfact & ".xls"
If Dir(Chemin1 & Client, 16) = "" Then MkDir Chemin1 & Client
ActiveWorkbook.SaveAs Chemin1 & Client & "\" & Fichier
If Dir(Chemin2 & Client, 16) = "" Then MkDir Chemin2 & Client
ActiveWorkbook.SaveAs Chemin2 & Client & "\" & Fichier
End Sub
Maintenant, je cherche à ce que ma feuille soit automatiquement générée en PDF avec le même nom et, si possible, qu'un mail soit automatiquement ouvert avec le fichier au format PDF en pièce jointe.
Si quelqu'un peut m'aider......
 

Staple1600

XLDnaute Barbatruc
Re : Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

Bonsoir


Merci à toi, Lodam, de nous passer l'info

Car je ne pense ps que l'on soit nombreux à posséder Acrobat
(je ne parle pas d'Acrobat Reader)

PDFCreator a l'avantage de fonctionner sous:
Operating System: All 32-bit MS Windows (95/98/NT/2000/XP)
et d'etre:
License: GNU General Public License (GPL)


Je complete ton lien avec le site du projet
SourceForge.net: PDFCreator
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

Re


Je remercie juste l'intention louable de Lodam
de partager ses infos

Acrobat est quand même relativement cher non?


PDFCreator est gratuit et open source

Personnellement je n'ai pas les moyens pour Acrobat.

Je ne pourrais donc pas t'aider sur ce coup-la.

Désolé.
 

hyperion66

XLDnaute Nouveau
Re : Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

Staple1600 à dit:
Re


Je remercie juste l'intention louable de Lodam
de partager ses infos

Acrobat est quand même relativement cher non?


PDFCreator est gratuit et open source

Personnellement je n'ai pas les moyens pour Acrobat.

Je ne pourrais donc pas t'aider sur ce coup-la.

Désolé.
Oui, c'est assez cher, mais quand on l'achète avec la suite complète Adobe, ça ne revient pas si cher que ça.
 

DIDAILLE

XLDnaute Nouveau
Re : Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

bonjour

moi j'ai installé PDFCreator ( gratuit ) car il s'installe à la place d'une imprimante.
Il faut juste cocher dans le menu option ->Enregistrement automatique "utiliser l'enregistrement automatique" et "envoyer un e-mail apres enregistrement.

LA macro est :

Sub impPDFCreator()
'
' impPDFCreator Macro
' Macro enregistrée le 08/11/2007 par DIDAILLE
'

'
Application.ActivePrinter = "PDFCreator sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:", Collate:=True

End Sub
 

JNP

XLDnaute Barbatruc
Re : Macro excel : enregistrer feuille au format pdf et envoi en piece jointe

Bonjour le fil :),
Le message d'erreur généré par Distiller n'est pas très clair, vu qu'il indique juste une "commande indéfinie", ce qui ne nous emmène pas loin... Je regardais ta macro et certaines choses me surprennent, ce qui peut peut-être t'aider...
Tu utilises une imprimante Distiller, alors que Distiller est un convertisseur, j'aurais mieux compris avec l'imprimante Acrobat.
Tu passes par un fichier ps alors qu'une impression Excel dans un fichier génère plutôt un fichier prn.
De plus, le passage par Distiller se traduit par un temps de stabilisation avant distillation, ce qui pose problème car ta macro peut tenter de prendre le fichier avant qu'il ne soit stabilisé (ce qui génère peut-être ton message d'erreur, fait une pause dans ta macro avant la récupération du fichier pdf pour le tester)
Enfin, dans ta solution de départ qui passait par Acrobat, ton problème était au niveau du dossier de destination (C:Mes documents), ce qui pouvait être résolu par un simple déplacement de fichier:
Code:
    Dim Objet As Object, Fichier As Object
    Set Objet = CreateObject("Scripting.FileSystemObject")
    Set Fichier = Objet.GetFile(Chemin)
    Objet.movefile Chemin, CheminDestination
où Chemin est le chemin de départ de ton fichier et CheminDestination celui d'arrivée.
En espérant que ça t'aide :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 164
Messages
2 085 870
Membres
103 007
dernier inscrit
salma_hayek