Envoi mail via VBA Excel
S
Bonjour la famille,
j'essaie d'exécuter mon code pour envoyer un mail mais je bute sur une erreur dont je n'arrive pas à résoudre.
"erreur d'execution 91 variable objet ou variable de bloc with non définie"
L'erreur se trouve sur la ligne
Set objMessage = objMessage.CreateItem(0)
Je mets le code à votre disposition pour aide svp.
En vous remerciant d'avance.
Option Explicit
Sub Mail()
Dim Destinataire As String
Dim objMessage As Object
Dim sNomPdf As String
Dim sDossier As String
Dim sNomCrypt As String
sDossier = ThisWorkbook.Path
Destinataire = "saliou.mballo@socgen.com"
sNomPdf = sDossier & "\" & "BSI 2019.pdf"
Feuil1.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sNomPdf, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
sNomCrypt = sDossier & "\" & "Tempo.pdf"
EncryptPDFUsingPdfforgeDll sNomPdf, sNomCrypt
Kill sNomPdf
Name sNomCrypt As sNomPdf
Set objMessage = objMessage.CreateItem(0)
With objMessage
.From = "saliou.mballo@socgen.com"
.To = Destinataire
.CC = ""
.BCC = ""
.Subject = "Essai"
.Body = "Bonjour, ceci est un test"
.AddAttachment sNomPdf
.Send
End With
Set objMessage = Nothing
End Sub
Private Sub EncryptPDFUsingPdfforgeDll(sNomFichier As String, sOutputCrypt As String)
Dim Pdf As Object, Crypt As Object
Set Crypt = CreateObject("pdfforge.pdf.PDFEncryptor")
With Crypt
.AllowAssembly = False
.AllowCopy = False
.AllowFillIn = False
.AllowModifyAnnotations = False
.AllowModifyContents = False
.AllowPrinting = True
.AllowPrintingHighResolution = True
.AllowScreenReaders = False
.EncryptionMethod = 2
.OwnerPassword = "saliou"
.UserPassword = "master"
End With
Set Pdf = CreateObject("pdfforge.pdf.pdf")
Pdf.EncryptPDFFile sNomFichier, sOutputCrypt, Crypt
Set Pdf = Nothing
Set Crypt = Nothing
End SubBonjour,
Il faut distinguer DEUX objets
Dim messagerie As Object
Dim objMessage As Object
Set messagerie = CreateObject("Outlook.Application")
Set objMessage = messagerie.CreateItem(0)
tu ne peux pas en effet écrire Set objMessage = objMessage.CreateItem(0)