Le dernier article nous a permis d’appréhender la relation entre Excel et un navigateur Web, voici comment gérer la relation entre Excel et votre messagerie Outlook…
- 1 – Dans cet exemple l’utilisateur veut à partir de son classeur actif, envoyer par mail un autre classeur Excel qu’il choisira sur son disque dur. Le programme lui demandera l’adresse Email du destinataire puis effectuera l’envoie en arrière plan.
- 3 –Voici le code, à vous de l’adapter.
Sub envoiEmail()
Dim appOutlook As Outlook.Application
Dim message As Outlook.mailitem
Dim Adresse As String
Dim ouverture$
On Error GoTo sierreur:
'Lance une session OutLook
Set appOutlook = CreateObject("outlook.Application")
'Demande de l'adresse email du destinataire
Adresse = InputBox("Entrez une adresse Email ?", "Envoyer un Email")
'Crée un nouveau message
Set message = appOutlook.createitem(olMailItem)
With message 'paramétrons le message
.Subject = "ENVOYER UN MAIL A PARTIR D'EXCEL"
'Paramétrage du champ Objet :
.Body = "Ceci est le corps du message" & Chr(13) & "Cordialement" & Chr(13) & "Olivier"
'Paramétrage du corps du texte contenu et signature
.BodyFormat = olFormatHTML
'Choix du format du message ici html
.Recipients.Add (Adresse)
'Ajout de l'adresse dans le champ A...
ouverture = Application.GetOpenFilename( _
filefilter:="Fichiers Excel (*.xls),*.xls", _
Title:="Ouvrir", _
MultiSelect:=False)
Workbooks.Open ouverture
'Ouverture du classeur choisi pour être envoyé en pièce jointe
.Attachments.Add ouverture
'Paramétrage du champ Attaché :
.send
'Envoie du message
ActiveWorkbook.Close
'Fermeture du classeur choisi pour être envoyé en pièce jointe
End With
appOutlook.Quit
'fermeture de Outlook
Set appOutlook = Nothing
'J’ai du gérer l'erreur du au clic sur le bouton annuler du inputbox
sierreur:
MsgBox "Vous devez saisir une adresse Email" & Chr(10) _
& "puis cliquer sur OK", vbOKOnly + vbCritical, "ATTENTION"
End Sub
Dim appOutlook As Outlook.Application
Dim message As Outlook.mailitem
Dim Adresse As String
Dim ouverture$
On Error GoTo sierreur:
'Lance une session OutLook
Set appOutlook = CreateObject("outlook.Application")
'Demande de l'adresse email du destinataire
Adresse = InputBox("Entrez une adresse Email ?", "Envoyer un Email")
'Crée un nouveau message
Set message = appOutlook.createitem(olMailItem)
With message 'paramétrons le message
.Subject = "ENVOYER UN MAIL A PARTIR D'EXCEL"
'Paramétrage du champ Objet :
.Body = "Ceci est le corps du message" & Chr(13) & "Cordialement" & Chr(13) & "Olivier"
'Paramétrage du corps du texte contenu et signature
.BodyFormat = olFormatHTML
'Choix du format du message ici html
.Recipients.Add (Adresse)
'Ajout de l'adresse dans le champ A...
ouverture = Application.GetOpenFilename( _
filefilter:="Fichiers Excel (*.xls),*.xls", _
Title:="Ouvrir", _
MultiSelect:=False)
Workbooks.Open ouverture
'Ouverture du classeur choisi pour être envoyé en pièce jointe
.Attachments.Add ouverture
'Paramétrage du champ Attaché :
.send
'Envoie du message
ActiveWorkbook.Close
'Fermeture du classeur choisi pour être envoyé en pièce jointe
End With
appOutlook.Quit
'fermeture de Outlook
Set appOutlook = Nothing
'J’ai du gérer l'erreur du au clic sur le bouton annuler du inputbox
sierreur:
MsgBox "Vous devez saisir une adresse Email" & Chr(10) _
& "puis cliquer sur OK", vbOKOnly + vbCritical, "ATTENTION"
End Sub
