Envois d'un mail dès qu'une date est atteinte en excel
TIFN
-
Modifié par ucfoutu le 23/09/2016 à 11:22
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
28 sept. 2016 à 06:09
Bonjour,
Actuellement dans un fichier Excel, j'ai mis en place un code qui permet d'envoyer un mail pour quand un produit qui a une date d'expiration dépassée. Cela marche bien mais quand il y a beaucoup de produit cela engendre trop de mail à mon destinataire. C'est pourquoi j'aimerais n'envoyer qu'un seul mail avec toutes les lignes en question ? Comment puis je procéder ?
D'avance merci pour votre aide !
Voici le code que j'utilise actuellement :
Sub EnvoiAutomatiqueMail() Dim i& If OutlookOuvert = False Then i = Shell("Outlook", vbNormalNoFocus) For i = 9 To Range("A" & Rows.Count).End(xlUp).Row If Cells(i, 44) < Now And Cells(i, 91) <> "Mail2 envoyé" Then Envoi "le contrat d'approvisionnement " & Cells(i, 5) & Cells(i, 4) & " est dépassée depuis le " & Cells(i, 44) Cells(i, 93) = "Mail2 envoyé"
If Cells(i, 44) < Now - 90 And Cells(i, 91) > Now And Cells(i, 91) <> "Mail1 envoyé" Then Envoi "le contrat d'approvisionnement " & Cells(i, 5) & " - " & Cells(i, 4) & " arrive à échéance le " & Cells(i, 44) Cells(i, 93) = "Mail1 envoyé" End If End If Next End Sub Function Envoi(Corps$) Dim OutlookApp As Object Dim OutlookMail As Object Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) On Error Resume Next With OutlookMail .Subject = "Attention aux contrats d'approvissionnement" .To = Feuil4.[A1] .CC = Feuil4.[A2] .Body = Corps .Send End With End Function Function OutlookOuvert() As Boolean Dim oOL As Object On Error Resume Next Set oOL = GetObject(, "Outlook.Application") On Error GoTo 0 OutlookOuvert = Not (oOL Is Nothing) Set oOL = Nothing End Function
Modifié par (ajout des balises code) et déplacé vers le sous-forum adéquat (VBA et non VB.Net) par ucfoutu.
Prière de veiller à prendre ce soin.
A voir également:
Envois d'un mail dès qu'une date est atteinte en excel
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024345 27 sept. 2016 à 23:29
Bonjour,
Sans cherche plus loin .... en concaténant les résultats trouvé et en n'envoyant le mail qu'après ta boucle.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 28 sept. 2016 à 06:09
Bonjour, jordfane45,
En faisant, donc, exactement ce qu'il ferait manuellement, sans informatique ni moyen moderne de transmission (il noterait chaque produit concerné sur une feuille de papier, puis posterait cette feuille).
Merci de ton rappel à l'utilisation de la sagesse.
28 sept. 2016 à 06:09
En faisant, donc, exactement ce qu'il ferait manuellement, sans informatique ni moyen moderne de transmission (il noterait chaque produit concerné sur une feuille de papier, puis posterait cette feuille).
Merci de ton rappel à l'utilisation de la sagesse.