[VBA] Emails Outlook depuis BDD Excel
akarix
Messages postés
6
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un fichier Excel avec comme intitulés de colonnes :
NOM - Prénom - email - deadline
A partir de là, j'aimerai avoir une marco pouvoir automatiquement envoyer un email, depuis Outlook, aux étudiants, à : 1 mois avant la deadline, 1 semaine avant la deadline et le jour J pour leur rappeler de nous rendre leur dossier.
Merci d'avance
J'ai un fichier Excel avec comme intitulés de colonnes :
NOM - Prénom - email - deadline
A partir de là, j'aimerai avoir une marco pouvoir automatiquement envoyer un email, depuis Outlook, aux étudiants, à : 1 mois avant la deadline, 1 semaine avant la deadline et le jour J pour leur rappeler de nous rendre leur dossier.
Merci d'avance
1 réponse
-
Bonjour,
Exemple type :
Option Explicit ' Sub RechercheEnvoie() Dim Aujourdhui As Date, JourDeadLine As Date Dim MoisPrecedent As Date, SemainePrecedente As Date, JourJ As Date Dim Feuille As Worksheet, Limite As Long, Boucle As Long Dim Adresse As String, Message As String Aujourdhui = Date JourJ = Aujourdhui SemainePrecedente = DateAdd("ww", -1, Aujourdhui) MoisPrecedent = DateAdd("m", -1, Aujourdhui) Set Feuille = ActiveSheet ' Sheets("Feuil1") Limite = Feuille.Range("A65536").End(xlUp).Row For Boucle = 2 To Limite JourDeadLine = Feuille.Cells(Boucle, 4).Value Adresse = Feuille.Cells(Boucle, 3).Value If (JourDeadLine = MoisPrecedent) Then Message = "À un mois du DeadLine" Call EnvoieCourriel(Adresse, Message) ElseIf (JourDeadLine = SemainePrecedente) Then Message = "À une semaine du DeadLine" Call EnvoieCourriel(Adresse, Message) ElseIf (JourDeadLine = JourJ) Then Message = "Aujourdhui c'est le DeadLine" Call EnvoieCourriel(Adresse, Message) End If Next Boucle End Sub ' Sub EnvoieCourriel(ByVal Adresse As String, Message As String) ' Déclaration de variables Dim objApp As Outlook.Application Dim objMail As Outlook.MailItem Dim sDestination As String, msgTitre As String, msgTexte As String Set objApp = CreateObject("Outlook.Application") Set objMail = objApp.CreateItem(olMailItem) sDestination = Adresse msgTitre = "Avis de DeadLine" msgTexte = Message With objMail .To = sDestination .Subject = msgTitre .BodyFormat = olFormatPlain .Body = msgTexte .Send End With Set objMail = Nothing Set objApp = Nothing End Sub '
n.b. Il faut ajouter la référence à [ Microsoft Outlook xx.y Objects Library]
sous l'editeur VBE.
// Menu / Outils / Références...
Cdt
Lupin