[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
A voir également:
- [VBA] Emails Outlook depuis BDD Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
Exemple type :
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
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