Comment envoyer un e-mail lorsque la date d’échéance est renseignée dans Excel ?
Comme le montre la capture d’écran ci-dessous, lorsqu’une date d’échéance figurant dans la colonne C tombe dans les 7 jours à venir (par exemple, si la date actuelle est le 13/09/2017), un e-mail est automatiquement envoyé au destinataire indiqué en colonne A, avec le contenu de la colonne B inséré dans le corps du message. Comment mettre en place cette automatisation ? Cet article vous propose un code VBA pour réaliser cette tâche facilement.

Envoyer un e-mail si Date d'échéance est remplie avec un code VBA
Envoyer un e-mail si Date d'échéance est remplie avec un code VBA
Procédez comme suit pour envoyer automatiquement un rappel par e-mail lorsque la date d’échéance est renseignée dans Excel.
1. Appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insertion > Module, puis copiez-collez le code VBA ci-dessous dans la fenêtre du module.
Code VBA : Envoyer un e-mail si Date d'échéance est fermé dans Excel
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub Remarques : La ligne If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then dans le code VBA signifie que la date d’échéance doit être supérieure à 1 jour et inférieure ou égale à 7 jours. Vous pouvez l’adapter selon vos besoins.
3. Appuyez sur la touche F5 pour exécuter le code. Dans la première boîte de dialogue Kutools pour Excel qui s’ouvre, veuillez sélectionner la plage de colonnes « Date d'échéance », puis cliquez sur le bouton OK. Voir la capture d’écran :

4. Ensuite, la deuxième boîte de dialogue Kutools pour Excel s’affiche ; veuillez sélectionner la plage de colonnes correspondante contenant les adresses e-mail des destinataires, puis cliquez sur le bouton OK. Voir la capture d’écran :

5. Dans la dernière boîte de dialogue Kutools pour Excel, sélectionnez le contenu que vous souhaitez insérer dans le corps de l’e-mail, puis cliquez sur le bouton OK.

Un e-mail sera alors automatiquement créé avec le destinataire, l’objet et le corps spécifiés dès que la date d’échéance dans la colonne C sera inférieure ou égale à 7 jours. Cliquez sur le bouton Envoyer pour transmettre l’e-mail.

Remarques:
1. Chaque e-mail créé correspond à une Date d‹échéance. Par exemple, si trois Date d›échéance remplissent les critères, trois messages électroniques seront créés automatiquement.
2. Ce code ne sera pas déclenché s’il n’y a aucune date répondant aux critères.
3. Le code VBA fonctionne uniquement si vous utilisez Outlook comme client de messagerie.

Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Articles associés :
- Comment envoyer automatiquement un e-mail selon la valeur d’une cellule dans Excel ?
- Comment envoyer un e-mail via Outlook une fois le classeur enregistré dans Excel ?
- Comment envoyer automatiquement un e-mail lorsqu’une cellule spécifique est modifiée dans Excel ?
- Comment envoyer un e-mail lorsqu’un bouton est cliqué dans Excel ?
- Comment envoyer un rappel ou une notification par e-mail lorsqu’un classeur est mis à jour dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels