Envoi d'email automatique dans Excel
Bonjour,
J'ai crée un fichier de suivi d'actions ci-joint pour un projet que je mène dans le cadre d'une association.
Ce fichier répertoriera les actions à mener dans le cadre de ce projet.
Des formules indiquent si les actions sont à l'heure ou en retard.
Je souhaiterai que, dès lors qu'une action est en retard (statut LATE), un email me soit automatiquement envoyé, afin que je puisse relancer le responsable.
Pourriez vous m'aider à définir une macro?
Merci beaucoup,
Emilien
Bonjour,
Sur la partie envoi d'e-mail depuis Excel (vers Outlook) j'ai utilisé le code suivant :
Sub envoi_mail()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim olFormatHTML As String
MsgBox ("Préparation du MAIL D'INFORMATION AUX UTILISATEURS DE LA MAIN COURANTE. " & Chr(10) & Chr(10) & "la fenêtre du message va s'afficher" & Chr(10) & "Merci de valider l'envoi")
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
strbody = "Information sur la mise à jour"
On Error Resume Next
With OutMail
.To = "Administrateur@organisme.fr"
.CC = "Toto@yahoo.fr; titi@yahoo.fr"
.BCC = ""
.Subject = "Mise à jour de la main courante"
.BodyFormat = olFormatHTML
.HTMLBody = "Bonjour, <BR><BR>Ce message est un mail automatique, il vous informe que " & Environ("username") & " a mis à jour la main courante.<BR><BR>" _
& "<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & ">Accéder à la main courante.</A>" & Chr(10) & "<BR><BR>Cordialement"
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End SubReste à conditionner l'envoi via la survenue d'une échéance.
Cordialement
Bonjour,
En cherchant une réponse à mon problème, je suis tombé sur ce sujet. Ma question est la même que celle posée plus haut (cette partie là est déjà résolue grâce au sujet), mais j'aimerais en plus ne pas avoir le mail qui s'ouvre à chaque fois. En effet, j'ai une liste de personnes à contacter (longueur de liste variable) et je n'ai pas vraiment envie de devoir cliquer 1000 fois sur "Envoyer"... Pas que je sois fainéant mais bon
L'un(e) d'entre vous verrait-il (elle) une solution à mon problème ?
D'avance, je vous remercie,
Ced
Bonjour,
Je suggère de créer une variable Liste qui accueille tous les mails des destinataires séparés par un point-virgule, puis à la ligne
.To = ListeAttention, je crois qu'il y a un nombre max d'adresses par mail.
Cordialement
Bonsoir,
Ce code est très intéressant. Mais que dois-je modifier pour qu'il s'adapte à Thunderbird qui est ma messagerie par défaut ?
Merci
ouisansdoute a écrit :Bonjour,
Sur la partie envoi d'e-mail depuis Excel (vers Outlook) j'ai utilisé le code suivant :
Sub envoi_mail() Dim OutApp As Object Dim OutMail As Object Dim strbody As String Dim olFormatHTML As String MsgBox ("Préparation du MAIL D'INFORMATION AUX UTILISATEURS DE LA MAIN COURANTE. " & Chr(10) & Chr(10) & "la fenêtre du message va s'afficher" & Chr(10) & "Merci de valider l'envoi") Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon Set OutMail = OutApp.CreateItem(0) strbody = "Information sur la mise à jour" On Error Resume Next With OutMail .To = "Administrateur@organisme.fr" .CC = "Toto@yahoo.fr; titi@yahoo.fr" .BCC = "" .Subject = "Mise à jour de la main courante" .BodyFormat = olFormatHTML .HTMLBody = "Bonjour, <BR><BR>Ce message est un mail automatique, il vous informe que " & Environ("username") & " a mis à jour la main courante.<BR><BR>" _ & "<A href=" & """" & "\\Nom_serveur\Repertoire\nom_ficihier.xls" & """" & ">Accéder à la main courante.</A>" & Chr(10) & "<BR><BR>Cordialement" .Display End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End SubReste à conditionner l'envoi via la survenue d'une échéance.
Cordialement
Bonjour,
J'ai trouvé la réponse à ma question ailleurs.
Sub Envoi()
Dim destinataire, sujet, fichierjoint As String
destinataire = "toto@bidule.fr,titi@bidule.fr"
sujet = "Salut!"
body = "Comment ca va ?"
fichierjoint = "C:/Documents and Settings/DAVID/Bureau/new 1.txt"
strcommand = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird" ' A modifier selon la version de Windows et du courrielleur utilisé
strcommand = strcommand & " -compose " & "mailto:" & destinataire & "?"
strcommand = strcommand & "&" & "subject=" & sujet & "&"
strcommand = strcommand & "body=" & body & "&"
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
MsgBox strcommand
Call Shell(strcommand, vbNormalFocus)
End Subça marche très bien.
Il faut simplement penser à ajouter l'expéditeur dans la liste des destinataires pour qu'il en garde une trace.
Bonjour,
La solution est sur ce fil.
https://forum.excel-pratique.com/excel/email-avec-thunderbird-t40666.html