Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment envoyer rapidement un email basé sur la date dans la cellule Excel?

Avez-vous déjà essayé d'envoyer un Email basé sur la date dans la cellule Excel? Par exemple, voici une liste de dates dans la colonne A, puis vous voulez envoyer un e-mail avec l'objet, corps du message à un destinataire (peut également CC et BCC à d'autres), comment pouvez-vous gérer?

Envoyer un e-mail basé sur la date avec VBA


Envoyer un e-mail basé sur la date avec VBA


Pour envoyer un courrier électronique en fonction de la date dans Excel, vous pouvez uniquement appliquer un code de macro.

1. Activez la feuille contenant les données et la date d'utilisation, puis appuyez sur Alt + F11 touches pour activer le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code ci-dessous dans le script vide.

VBA: Envoyer par date

Sub email()
'UpdatebyExtendoffice20170831
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xAddress As String
    Dim xEmail_Subject, xEmail_Send_From, xEmail_Send_To, xEmail_Cc, xEmail_Bcc, xEmail_Body As String
    Dim xMail_Object, xMail_Single As Object
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xRgEach In xRg
        If xRgEach.Value = Date Then
            xEmail_Subject = Application.InputBox("Subject: ", "Kutools", , , , , , 2)
            xEmail_Send_From = Application.InputBox("Send from: ", "KuTools For Excel", , , , , , 2)
            xEmail_Send_To = Application.InputBox("Send to: ", "KuTools For Excel", , , , , , 2)
            If xEmail_Send_To = "" Then Exit Sub
            xEmail_Cc = Application.InputBox("CC: ", "KuTools For Excel", , , , , , 2)
            xEmail_Bcc = Application.InputBox("BCC: ", "KuTools For Excel", , , , , , 2)
            xEmail_Body = Application.InputBox("Message Body: ", "KuTools For Excel", , , , , , 2)
            Set xMail_Object = CreateObject("Outlook.Application")
            Set xMail_Single = xMail_Object.CreateItem(0)
            With xMail_Single
                .Subject = xEmail_Subject
                .To = xEmail_Send_To
                .cc = xEmail_Cc
                .BCC = xEmail_Bcc
                .Body = xEmail_Body
                .Send
            End With
        End If
    Next
End Sub

3. Cliquez course bouton ou appuyez sur F5 La touche pour exécuter le code, une boîte de dialogue apparaît pour vous rappeler de sélectionner une liste de date. Voir la capture d'écran:
doc envoyé par date 1

4. Cliquez sur OK et continuez à spécifier l'objet de l'e-mail, l'adresse e-mail de l'expéditeur, l'adresse e-mail du destinataire, le CC, le BCC et le corps du message. Voir la capture d'écran:

doc envoyé par date 2 tir flèche droite doc envoyé par date 3 tir flèche droite doc envoyé par date 4
doc vers le bas
doc envoyé par date 7 flèche tirée à gauche doc envoyé par date 6 flèche tirée à gauche doc envoyé par date 5

5. Cliquez OK > OK jusqu'à la dernière, puis l'email a été envoyé.
doc envoyé par date 8

Remarque: l'adresse e-mail de l'expéditeur doit être le compte par défaut de votre Outlook.


Créer une liste de diffusion et envoyer des courriels

doc envoyer un email


Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Edward Snyder · 6 months ago
    This is close to what I need but I am stuck with two problems. 1st I need to run this across my entire workbook that gets new worksheets added daily. 2nd I need it to include the worksheet name in the email so I will know which sheet is due. I create new tickets (worksheets) with a field that is a future date, when that day arrives I need an email. Thank you for your help.
  • To post as a guest, your comment is unpublished.
    Stephen Davis · 8 months ago
    How do I get VBA in Excel to generate an email when a cell changes color? I am able to use formula to have cells' font change, based on the computer clock, when a date is within a range before expiry. I currently have a spreadsheet with 25 employee's names and the dates of expiry for their driver's license, work permits, entry/exit visa dates, and annual start date. Some dates are 30 days, some are 60 days. Whenever a date enters the 30 (or 60) day range before expiry, the value in the cell changes from normal black to bold red font. I want to be able to have an email sent to me warning that the person in A1...A2...A3, etc. is about to have a work document expire. What is the script I need to run to accomplish this?