Pimousse17
XLDnaute Nouveau
Bonjour,
J'ai effectué un certains nombre de recherche pour trouver une solution à ma problème mais je n'ai pas trouvé de réponse claire et/ou qui fonctionne.![Frown :( :(](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Voilà mon problème :
Je souhaite pouvoir nommer et enregistrer automatiquement un document pdf imprimé à l'aide de cutepdf (imprimante virtuelle). Cutepdf imprimant une feuille excel.
Je ne souhaite pas passer par pdfcreator ou un autre type d'imprimante virtuelle.
Ma feuille excel à imprimer contiendra dans une cellule le nom du futur fichier pdf, une autre cellule contiendra le chemin d'accès au dossier où doit être enregistré le fichier pdf.
J'ai déjà trouvé une macro qui déclenche l'impression par cutepdf mais il me faut ensuite rentrer manuellement le nom et définir manuellement l'emplacement. La voici pour information :
Sub impression()
Application.ActivePrinter = "CutePdf Writer sur CPW2:"
Sheets("Fiche_contact").PrintOut Copies:=1
End Sub
Mon second problème qui est la suite du 1er :
Je souhaite pouvoir ensuite intégrer automatiquement en pièce jointe ce fichier pdf dans un email.
J'ai déjà une macro qui déclenche l'ouverture d'un nouveau message (email), et définie l'adresse, le sujet et le corps du mail :
Sub EnvoieMail()
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
'Déclenche l'ouverture d'un nouveau email
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
'Définie la zone où se situe le texte du corps du mail sur le fichier excel
For lig = 1 To 30
For col = 7 To 30
mytx = mytx & Sheets("Program").Cells(lig, col) & " "
Next
mytx = mytx & vbCr
Next
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = [Fiche_contact!W2] 'adresse destinataire
.Subject = ("Sujet") 'ici le sujet
.Body = mytx 'ici le corps du mail
.Display '.Display Send
End With
End Sub
J'espère avoir été clair, n'hésitez pas à me poser des questions si tel n'était pas le cas.
Merci par avance
J'ai effectué un certains nombre de recherche pour trouver une solution à ma problème mais je n'ai pas trouvé de réponse claire et/ou qui fonctionne.
Voilà mon problème :
Je souhaite pouvoir nommer et enregistrer automatiquement un document pdf imprimé à l'aide de cutepdf (imprimante virtuelle). Cutepdf imprimant une feuille excel.
Je ne souhaite pas passer par pdfcreator ou un autre type d'imprimante virtuelle.
Ma feuille excel à imprimer contiendra dans une cellule le nom du futur fichier pdf, une autre cellule contiendra le chemin d'accès au dossier où doit être enregistré le fichier pdf.
J'ai déjà trouvé une macro qui déclenche l'impression par cutepdf mais il me faut ensuite rentrer manuellement le nom et définir manuellement l'emplacement. La voici pour information :
Sub impression()
Application.ActivePrinter = "CutePdf Writer sur CPW2:"
Sheets("Fiche_contact").PrintOut Copies:=1
End Sub
Mon second problème qui est la suite du 1er :
Je souhaite pouvoir ensuite intégrer automatiquement en pièce jointe ce fichier pdf dans un email.
J'ai déjà une macro qui déclenche l'ouverture d'un nouveau message (email), et définie l'adresse, le sujet et le corps du mail :
Sub EnvoieMail()
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
'Déclenche l'ouverture d'un nouveau email
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
'Définie la zone où se situe le texte du corps du mail sur le fichier excel
For lig = 1 To 30
For col = 7 To 30
mytx = mytx & Sheets("Program").Cells(lig, col) & " "
Next
mytx = mytx & vbCr
Next
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = [Fiche_contact!W2] 'adresse destinataire
.Subject = ("Sujet") 'ici le sujet
.Body = mytx 'ici le corps du mail
.Display '.Display Send
End With
End Sub
J'espère avoir été clair, n'hésitez pas à me poser des questions si tel n'était pas le cas.
Merci par avance