Bonjour bens770,
personnellement j'utilise un module en vba dans excel.
si cela t'interresse le voici, à toi d'adapter ce qui est en rouge, pour lancer exécuter :EnvoiMailPlanning :
ublic Const MAIL_SENDUSING = 2 ' ne pas changer
Public Const MAIL_AUTHENTICATE = 1 ' ne pas changer
Public Const MAIL_CPT_SENDUSR = "xxxxxxxx" ' nom de connexion à la boite mail de l'expéditeur
Public Const MAIL_CPT_SENDPASS = xxxxx 'mot de passe d'accès à la boite mail de l'expéditeur
Public Const MAIL_FROM = "xxxx@yyyyyy" ' adresse mail de l'expéditeur
Public Const MAIL_SMTP_SERVER = "xxxxxxxxxxxxxx" ' serveur smtp de la boite mail de l'expéditeur
Public Const MAIL_SMTP_SERVERPORT = 25 ' ne pas changer
___________________________________________________________________________________________________________
Sub EnvoiMailPlanning()
Msg = "Prêt pour envoyer le Mel"
Style = vbYesNo + vbExclamation
Title = "Envoi Mel"
Test = ""
Application.ScreenUpdating = False
Test = MsgBox(Msg, Style, Title)
If Test = vbYes Then
NomFichierMel = Workbooks(ActiveWorkbook.Name).Path & "\SauvegardeMois\Ecole du " & Month(Range("B3")) & "-" & Year(Range("B3")) & ".xlsx"
Objet = "Fichier pour affichage réunion du Mardi" ' rempli l'objet du message
Call SMTPSendMail("xxxxx@free.fr", "Fichier pour la réunion du mardi ", NomFichier) ' destinataire, message écrit dans le mail,NomFichier est le chemin complet du fichier sauvegarder cette variable permet d'attacher la pièce jointe
'============================================
'Ne pas effacer la ligne ci-dessous, elle permet de changer le destinataire du mel pour les essais
'Call SMTPSendMail("@@@@@@@@@@@@@@@@@@@@", "Fichier pour la réunion du mardi ", NomFichierMel) 'destinataire, message écrit dans le mail,NomFichier est le chemin complet du fichier sauvegarder cette variable permet d'attacher la pièce jointe, ligne pour test
'============================================
Else
Application.ScreenUpdating = True
Exit Sub
End If
End Sub
'''""""""""""""""""""""""""""""""""""""""""""""""""""'''
'
' FONCTION : envoyer un mail par SMTP
' pstrTo : 1 ou plusieurs destinataire(s)
' pstrSubject : objet du mail
' pvarAttachFile : 1 ou plusieurs fichiers joints - string ou array de string
'
'''""""""""""""""""""""""""""""""""""""""""""""""""""'''
Public Function SMTPSendMail(pstrTo As String, pstrSubject As String, Optional pvarAttachFile As Variant) As Boolean
On Error GoTo SMTPSendMail_Err
Dim i As Long
Dim objEmail As New CDO.Message
Set objEmail = CreateObject("CDO.Message")
objEmail.From = MAIL_FROM
objEmail.To = pstrTo
objEmail.Subject = pstrSubject
' Aucun corps de message, uniquement la pièce jointe
' laisser un TextBody avec chaine vide, sinon le mail peut planter (pièce jointe incomplète)
objEmail.TextBody = "A toi de jouer maintenant, salutations, Philippe"
' Ajout de la pièce jointe, 1 ou plusieurs fichiers
If Not IsMissing(pvarAttachFile) Then
If IsArray(pvarAttachFile) Then
' parcourrir le tableau
For i = LBound(pvarAttachFile) To UBound(pvarAttachFile)
objEmail.AddAttachment pvarAttachFile(i)
Next i
Else
objEmail.AddAttachment pvarAttachFile
End If
End If
With objEmail.Configuration.Fields
.Item(CdoConfiguration.cdoSendUsingMethod) = MAIL_SENDUSING
.Item(CdoConfiguration.cdoSMTPAuthenticate) = MAIL_AUTHENTICATE
.Item(CdoConfiguration.cdoSendUserName) = MAIL_CPT_SENDUSR
.Item(CdoConfiguration.cdoSendPassword) = MAIL_CPT_SENDPASS
.Item(CdoConfiguration.cdoSMTPServer) = MAIL_SMTP_SERVER
.Item(CdoConfiguration.cdoSMTPServerPort) = MAIL_SMTP_SERVERPORT
.Update
End With
objEmail.Send
SMTPSendMail = True
MsgBox "Mel envoyé à : " & pstrTo
Exit Function
SMTPSendMail_Err:
MsgBox Err.Description
End Function
=============================================================
bon courage