Passer au contenu principal
 

Comment envoyer un e-mail si la date d'échéance a été respectée dans Excel?

Auteur : Siluvia Dernière modification: 2022-09-23

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:

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

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!