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
Florales: 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 for 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 for 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 for 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.
Florales:
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?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la 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 facilite grandement 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!