[VBA] Envoyer pdf par mail
tyranausor
Messages postés
3545
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
la question d'envoi d'un pdf par mail a du être plusieurs fois posée, mais là c'est différent.
Je m'explique, j'ai imprimé une feuille de mon classeur en pdf mais avec des cellules en moins, un titre centré. Enfin, totalement différent de la feuille originale.
J'ai rédigé le code qui génère ce pdf =>
et, à l'aide de l'enregistreur j'ai pu avoir
Je cherche donc à lier les deux codes pour qu'Excel m'envoie le pdf généré par mail. J'ai cherché mais sans succès.
Si quelqu'un peut m'aider, je suis débutant en vba
la question d'envoi d'un pdf par mail a du être plusieurs fois posée, mais là c'est différent.
Je m'explique, j'ai imprimé une feuille de mon classeur en pdf mais avec des cellules en moins, un titre centré. Enfin, totalement différent de la feuille originale.
J'ai rédigé le code qui génère ce pdf =>
Dim S1, S4 As Byte
d = Range("A65000").End(xlUp) 'd est la variable de la dernière cellule de la colonne A
Sheets("Archives").Select
S1 = Range("A6").Value 'S1 est le la valeur de la cellule en A6
S4 = d
Columns("D:J").Hidden = True
Rows("1:3").Hidden = True
Sheets("Archives").PageSetup.CenterHorizontally = True
Sheets("Archives").PageSetup.CenterVertically = True
With ActiveSheet.PageSetup
.CenterHeader = "Heures des salariés pour les semaines " & S1 & " à " & S4 'Titre centrée de la feuille
End With
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"Heures des salariés.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=True
et, à l'aide de l'enregistreur j'ai pu avoir
Sub Envoi_mail_pj()qui m'envoie le classeur par mail.
'
' Envoi_mail_pj Macro
'
'
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Etienne\AppData\Local\Temp\Copie de Version finale application de paie (avec userform).pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub
Je cherche donc à lier les deux codes pour qu'Excel m'envoie le pdf généré par mail. J'ai cherché mais sans succès.
Si quelqu'un peut m'aider, je suis débutant en vba
A voir également:
- [VBA] Envoyer pdf par mail
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Gmail envoyer un mail - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Windows live mail - Télécharger - Mail
2 réponses
Bonjour,
Bonjour,
pas possible de parametrer piece-jointe
Bonjour,
Application.Dialogs(xlDialogSendMail).Show
pas possible de parametrer piece-jointe
'outils: references cocher microsoft outlook x.x object library de votre office Sub test() Dim S1, S4 As Byte d = Range("A65000").End(xlUp) 'd est la variable de la dernière cellule de la colonne A Sheets("Archives").Select S1 = Range("A6").Value 'S1 est le la valeur de la cellule en A6 S4 = d Columns("D:J").Hidden = True Rows("1:3").Hidden = True Sheets("Archives").PageSetup.CenterHorizontally = True Sheets("Archives").PageSetup.CenterVertically = True With ActiveSheet.PageSetup .CenterHeader = "Heures des salariés pour les semaines " & S1 & " à " & S4 'Titre centrée de la feuille End With 'chemin = "C:\Users\Etienne\AppData\Local\Temp\Copie de Version finale application de paie (avec userform).pdf" chemin = "d:\_txt\azerty.pdf" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin _ , Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False 'x = Application.Dialogs(xlDialogSendMail).Show("azerty", "qazerty") Set olApp = CreateObject("Outlook.application") Set m = olApp.CreateItem(olMailItem) With m .To = "adresse destinataire(s)" 'separateur: vigule .CC = "" 'separateur: vigule .Subject = "Sujet" .Body = "Corps du message" 'texte .attachments.Add chemin '.display True 'ouverture de outlook pour complement(s) d'info .Send 'envoi direct End With Set olApp = Nothing Set m =Nothing End Sub