Public Sub EnvoiMailOutlookAvecFichJoint()
AdresDestinMail$ = "" 'destinataire
AdresMailCC$ = "" 'adres en copie
AdresMailBCC$ = "" 'adres en copie invisible
Sujet$ = "" 'objet du mail
Message$ = "" 'message
Chemin$ = "" 'dossier complet avec le fichier
EnvoiChemFich$ = FLoadCheminFichier$(Chemin$) 'nom complet pour l'envoi
If EnvoiChemFich$ = "" Then MsgBox "Aucun fichier!?", vbExclamation, "envoi": Exit Sub 'quitte
On Error GoTo ErreurNET ' ENVOI
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = AdresDestinMail$
.CC = AdresMailCC$
.BCC = AdresMailBCC$
.Subject = Sujet$
.Body = Message$
.Attachments.Add EnvoiChemFich$
'.Save '< svg email avant l'envoi
'.Send '<<<<<<<< Pour envoyer directement
.Display '<<<<<< Pour voir le mail avant envoi
'^^^^^^^ après .Display pour confirmation auto > SendKeys "^{ENTER}"
End With
' fin
Set OutApp = Nothing: Set OutMail = Nothing
On Error GoTo 0: Err.Clear
Exit Sub
ErreurNET: 'sous prog erreur
Msg$ = "Erreur " & Err.Source & " No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
On Error GoTo 0: Err.Clear
End Sub
Private Sub EnvoiMailOutlookAvecFeuilJointe()
Dim OutApp As Object, OutMail As Object, NewB As Workbook
'---- variables nécessaire -------------
NomDuClasseur$ = "NomDuFichierJoint.xls" ' avec son extension
NomDeLaFeuille$ = "Feuil1"
AdresDestinMail$ = "nom@site.fr"
AdresMailCC$ = "nom@site.fr"
AdresMailBCC$ = "nom@site.fr"
Sujet$ = ""
Message$ = ""
'---------------------------------------
' Copie la feuille (ce qui cré un nouveau classeur qui devient actif)
CheminFichier$ = ThisWorkbook.Path & "\" & NomDuClasseur$ 'ajoute le chemin
Sheets(NomDeLaFeuille$).Copy
Set NewB = ActiveWorkbook
ActiveWorkbook.SaveAs CheminFichier$
On Error GoTo ErreurNET ' ENVOI
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = AdresDestinMail$
.CC = AdresMailCC$
.BCC = AdresMailBCC$
.Subject = Sujet$
.Body = Message$
.Attachments.Add NewB.FullName
'.Save '< svg email avant l'envoi
'.Send '<<<<<<<< Pour envoyer directement
.Display '<<<<<< Pour voir le mail avant envoi
'^^^^^^^ après .Display pour confirmation auto > SendKeys "^{ENTER}"
End With
' close le classeur et le supprime du disque
ActiveWorkbook.Close
Kill CheminFichier$
' fin
Set OutApp = Nothing: Set OutMail = Nothing: Set NewB = Nothing
On Error GoTo 0: Err.Clear: Exit Sub
ErreurNET: 'sous prog erreur
Msg$ = "Erreur " & Err.Source & " No " & Err.Number & vbLf & vbLf & Err.Description
T$ = "Envoi Mail: Problème de connexion !?"
MsgBox Msg$, vbCritical, T$, Err.HelpFile, Err.HelpContext
On Error GoTo 0: Err.Clear
End Sub