Comment envoyer un e-mail si la date d'échéance a été respectée dans Excel?
Comme le montre la capture d'écran ci-dessous, si la date d'échéance dans la colonne C est inférieure ou égale à 7 jours (par exemple, la date actuelle est le 2017/9/13), un e-mail est envoyé au destinataire spécifié dans la colonne A et le le contenu spécifié dans la colonne B est affiché dans le corps de l'e-mail. Comment pourriez-vous faire pour y parvenir? Cet article fournit un code VBA pour vous aider à accomplir cette tâche.
Envoyer un e-mail si la date d'échéance a été respectée avec le code VBA
Envoyer un e-mail si la date d'échéance a été respectée avec le code VBA
Veuillez procéder comme suit pour envoyer un e-mail de rappel si la date d'échéance a été respectée dans Excel.
1. appuie sur le autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, veuillez cliquer insérer > Module. Ensuite, copiez et collez le code VBA ci-dessous dans la fenêtre Module.
Code VBA: envoyer un e-mail si la date d'échéance est fermée 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
Notes: La ligne Si CDate (xRgDateVal) - Date <= 7 Et CDate (xRgDateVal) - Date> 0 Ensuite, 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 le modifier selon vos besoins.
3. presse le Touche F5 pour exécuter le code. Dans la première apparition Kutools pour Excel boîte de dialogue, veuillez sélectionner la plage de colonnes de date d'échéance, puis cliquez sur le OK bouton. Voir la capture d'écran:
4. Puis le deuxième Kutools pour Excel boîte de dialogue apparaît, veuillez sélectionner la plage de colonnes correspondante qui contient les adresses e-mail des destinataires, puis cliquez sur le bouton OK bouton. Voir la capture d'écran:
5. Dans le dernier Kutools pour Excel boîte de dialogue, sélectionnez le contenu que vous souhaitez afficher dans le corps de l'e-mail, puis cliquez sur le OK .
Ensuite, un e-mail sera créé automatiquement avec le destinataire, l'objet et le corps spécifiés si la date d'échéance dans la colonne C est inférieure ou égale à 7 jours. Veuillez cliquer sur le Envoyer bouton pour envoyer l'e-mail.
Notes:
1. Chaque email créé correspond à une date d'échéance. Par exemple, si trois dates d'échéance répondent aux critères, trois e-mails seront créés automatiquement.
2. Ce code ne sera pas déclenché si aucune date ne répond aux critères.
3. Le code VBA ne fonctionne que lorsque vous utilisez Outlook comme programme de messagerie.
Articles Liés:
- Comment envoyer automatiquement un e-mail en fonction de la valeur de la cellule dans Excel?
- Comment envoyer un e-mail via Outlook lorsque le classeur est enregistré dans Excel?
- Comment envoyer un e-mail si une certaine cellule est modifiée dans Excel?
- Comment envoyer un e-mail si le bouton est cliqué dans Excel?
- Comment envoyer un rappel ou une notification par e-mail si le classeur est mis à jour dans Excel?
Les meilleurs outils de productivité de bureau
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
- Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
- Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
- Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
- Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
- Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
- Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
- Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
- Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
- Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail
- Activer 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 réduit des centaines de clics de souris chaque jour!












































