Public Sub Envoyer_mail(ByVal sujet As String, ByVal destinataire As String, ByVal contenu As String)
Dim oOutlook As Outlook.Application
Dim oMailItem As Outlook.MailItem
Dim ws As Worksheet
Set ws = Sheets("Paramètres fichier")
' Appel de la procédure pour la préparation de Outlook
Call Preparer_outlook(oOutlook)
' On tente de créer le mail et son contenu
On Error Resume Next
Set oMailItem = oOutlook.CreateItem(0)
' Si une erreur à la création est détecté on affiche un message d'aide
If Err.Number > 0 Then
MsgBox "Erreur lors de l'envoi du mail"
' Sinon on affiche un message d'indication pour confirmer l'envoi du mail
Else
MsgBox "Le mail à bien été envoyé"
' Ajout destinataire, sujet et contenu au corps du mail et envoi
With oMailItem
.To = "Indiquer les destinataires"
.CC = "Indiquer les CC"
.Subject = "Indiquer le sujet"
.Attachments.Add "Lien du fichier joint"
.BodyFormat = olFormatHTML 'Choix du format du corps du mail, ici HTML, format texte disponible aussi
.HTMLBody = "<html><p>" & contenu & "</p></html>"
.Send
End With
End If
End Sub
' /// Procédure utilisée pour l'ouverture et la préparation de l'application Outlook
Private Sub Preparer_outlook(ByRef oOutlook As Object)
' On tente de lancer l'application Outlook
On Error Resume Next
Set oOutlook = GetObject(, "Outlook.Application")
' Si celle-ci ne se lance pas on raz l'erreur et on retente un lancement
If Err.Number > 0 Then
Err.Clear
Set oOutlook = CreateObject("Outlook.application")
' Si celle-ci ne se lance toujours pas affichage d'un message d'erreur
If Err.Number > 0 Then
MsgBox "Erreur lors de la préparation d'outlook"
Exit Sub
End If
End If
End Sub