Voici une macro d'envoi de mail depuis excel
vois ce que tu peux faire avec
Sub Envoyermail()
' On Error GoTo gestionerr
'Ouvre le fichier à envoyer
Workbooks.Open FileName:=Spot.Données.Range("Ext_cheminfichierdetransmission").Value & Spot.Données.Range("Ext_fichierdetransmission").Value
'Lance un envoi de mail
ActiveWorkbook.HasRoutingSlip = True
With ActiveWorkbook.RoutingSlip
'Ajoute les noms des destinataires
.Recipients = Array(Données.Range("Ext_destinataire1").Value, Données.Range("Ext_destinataire2").Value, Données.Range("Ext_destinataire3").Value, Données.Range("Ext_destinataire4").Value, Données.Range("Ext_destinataire5").Value, Données.Range("Ext_destinataire6").Value, Données.Range("Ext_destinataire7").Value, Données.Range("Ext_destinataire8").Value, Données.Range("Ext_destinataire9").Value, Données.Range("Ext_destinataire10").Value)
'Ajoute en sujet du message le nom de la macro
.Subject = Données.Range("Ext_libelledestinataire").Value
'Defini le message
.Message = "Bonjour," & Chr(10) & Chr(10) & Données.Range("AN3").Value & Chr(10) & Chr(10) & "Bonne Journée" & Chr(10) & Chr(10) & Données.Range("Ext_libellédestinataire") & Chr(10) & "" & Chr(10) & "Références de l'analyse : " & Données.Range("Ext_cheminbase").Value & Données.Range("Ext_fichierdebase").Value
'Envoie le message en simultané
.Delivery = xlAllAtOnce
'Supprime les retours éventuels
.ReturnWhenDone = False
.TrackStatus = False
End With
'Envoie le routage
ActiveWorkbook.Route
'N'affiche pas le message d'alerte pour enregistrer le fichier
Application.DisplayAlerts = False
'Ferme le fichier envoyé
ActiveWorkbook.Close
'Active la feuille de présentation et se place en A1
Sheets("données").Activate
Range("A1").Select
gestionerr:
'Gère l'erreur n°1004 (Nom de champs non valide)
'Ne gère pas les autres erreurs
If Err.Number = 1004 Then
MsgBox ("L'adresse mail d'un des destinataires de l'analyse " & Spot.Données.Range("Ext_nomanalyse").Value & " n'est pas exacte. Cette analyse ne sera pas envoyée.")
'N'affiche pas le message d'alerte pour enregistrer le fichier
Application.DisplayAlerts = False
'Ferme le fichier envoyé
ActiveWorkbook.Close
'Active la feuille de présentation et se place en A1
Feuil2.Activate
Range("A1").Select
'Si l'analyse est posssible continue à sélectionner l'analyse suivante
Mail.Envoyermail
End If
End Sub