Bonjour le forum,
En parcourant les forums, j'ai trouvé ce code très intérêsant qui permet d'envoyer des feuilles Excel en format PDF.
Le problème est que ce code semble incomplet, si on déclare Option Explicit il se met en erreur, je pense qu'il y a un problème de déclaration de variable que je n'arrive pas à faire.
Si ce code inspire les experts du forum je les remercie pour l'aide qu'ils pourront m'apporter
Sub Mail()
Dim messageHTML
On Error GoTo errorHandler
'on cré le fichier PDFdans le même dossier que le fichier source
Sheets("Devis").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '"Devis.pdf"
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Sujet du Message"
objMessage.From = "xxx.xxxxxx@free.fr" 'adresse mail de l'expéditeur n'est pas obligatoire
objMessage.To = "xxxx.xxxxxxx@free.fr" 'Email du destinataire doit-être correct ici
objMessage.TextBody = "Bonjour," & vbCrLf & "Veuillez trouver en piéce jointe votre facture" & vbCrLf & "en votre aimable réglement"
piece_jointe = ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '& "Devis.pdf"
messageHTML = "Ceci est un message en HTML"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.free.fr"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
objMessage.AddAttachment (piece_jointe) 'On ajoute la piéce jointe, il est possible d'envoyer plusieurs pièces
'objMessage.AddAttachment (piece_bis) 'dans ce cas on ajoute un objMessage.AddAttachement () par pièce
objMessage.Send
MsgBox "Le mail a été bien envoyé !" ', 64, "Information"
'après l'envoi la feuille PDF est supprimée
Kill ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '"Devis.pdf"
'si erreur on sort de la procédure
Exit Sub
errorHandler:
'description de l'erreur survenue
MsgBox Err.Description
End Sub
En parcourant les forums, j'ai trouvé ce code très intérêsant qui permet d'envoyer des feuilles Excel en format PDF.
Le problème est que ce code semble incomplet, si on déclare Option Explicit il se met en erreur, je pense qu'il y a un problème de déclaration de variable que je n'arrive pas à faire.
Si ce code inspire les experts du forum je les remercie pour l'aide qu'ils pourront m'apporter
Sub Mail()
Dim messageHTML
On Error GoTo errorHandler
'on cré le fichier PDFdans le même dossier que le fichier source
Sheets("Devis").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '"Devis.pdf"
Set objMessage = CreateObject("CDO.Message")
objMessage.Subject = "Sujet du Message"
objMessage.From = "xxx.xxxxxx@free.fr" 'adresse mail de l'expéditeur n'est pas obligatoire
objMessage.To = "xxxx.xxxxxxx@free.fr" 'Email du destinataire doit-être correct ici
objMessage.TextBody = "Bonjour," & vbCrLf & "Veuillez trouver en piéce jointe votre facture" & vbCrLf & "en votre aimable réglement"
piece_jointe = ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '& "Devis.pdf"
messageHTML = "Ceci est un message en HTML"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.free.fr"
objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Update
objMessage.AddAttachment (piece_jointe) 'On ajoute la piéce jointe, il est possible d'envoyer plusieurs pièces
'objMessage.AddAttachment (piece_bis) 'dans ce cas on ajoute un objMessage.AddAttachement () par pièce
objMessage.Send
MsgBox "Le mail a été bien envoyé !" ', 64, "Information"
'après l'envoi la feuille PDF est supprimée
Kill ActiveWorkbook.Path & "\" & [B11] & [C13] & ".PDF" '"Devis.pdf"
'si erreur on sort de la procédure
Exit Sub
errorHandler:
'description de l'erreur survenue
MsgBox Err.Description
End Sub