BOnjour
voici un code que j'ai dans ma bibliothèque. Le fichier pdf généré est la feuille active, elle est enregistré dans le même dossier que le fichier exécutant le code., avec le nom, le nom de l'onglet. mais tous à fait personnalisable...
partie de code a changer :
Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
une option est possible de supprimer le pdf après envoi...
le destinataire, le message, l'objet du mail,.... est a personnaliser...
Le chemin
Fred
Sub mail()
Dim OutApp As Object
Dim OutMail As Object
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'Désactiver fenêtre de compatibilité
Application.DisplayAlerts = False
'----------------------------------------------------------------------------
'Sauvegarde la nouvelle feuille/L'envoie par mail/La supprime
'----------------------------------------------------------------------------
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)
'envoi/prépration du mail
With OutMail
.To = "fred@toto.fr"
.CC = "Moi@toto.fr"
.bcc = ""
.Subject = "sujet du mail"
.Attachments.Add ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
.Body = "Bonjour, le message a mettre dans le mail "
.display 'ou alors utiliser
'.Send 'pour envoi
End With
'Effacer le fichier envoyé
'Kill ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub