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 Sub

Reste à 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 = Liste

Attention, 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 Sub

Reste à 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.

Rechercher des sujets similaires à "envoi email automatique"