Note: The other languages of the website are Google-translated. Back to English

Comment envoyer rapidement un e-mail en fonction de la date dans une cellule Excel?

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

Envoyer un e-mail en fonction de la date avec VBA


Envoyer un e-mail en fonction de la date avec VBA

Pour envoyer un e-mail en fonction de la date dans Excel, vous ne pouvez appliquer qu'un code de macro.

1. Activez la feuille contenant les données et la date que vous utilisez, puis appuyez sur Alt + F11 touches pour activer 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 pour exécuter le code, une boîte de dialogue apparaît pour vous rappeler de sélectionner une liste de dates. Voir la capture d'écran:
doc envoyer 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 Cci et le corps du message. Voir la capture d'écran:

doc envoyer par date 2 flèche vers la droite doc envoyer par date 3 flèche vers la droite doc envoyer par date 4
        doc flèche vers le bas
doc envoyer par date 7 flèche vers la gauche doc envoyer par date 6 flèche vers la gauche doc envoyer par date 5

5. Cliquez OK > OK jusqu'au dernier, puis l'e-mail a été envoyé.
doc envoyer par date 8

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


Créer une liste de diffusion et envoyer des e-mails

doc envoyer un e-mail

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-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

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!
bas de cabine
Commentaires (13)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Comment faire en sorte que VBA dans Excel génère un e-mail lorsqu'une cellule change de couleur ? Je peux utiliser une formule pour faire changer la police des cellules, en fonction de l'horloge de l'ordinateur, lorsqu'une date se situe dans une plage avant l'expiration. J'ai actuellement une feuille de calcul avec les noms de 25 employés et les dates d'expiration de leur permis de conduire, permis de travail, dates de visa d'entrée/sortie et date de début annuel. Certaines dates durent 30 jours, d'autres 60 jours. Chaque fois qu'une date entre dans la plage de 30 (ou 60) jours avant l'expiration, la valeur dans la cellule passe du noir normal au rouge gras. Je souhaite pouvoir recevoir un e-mail m'avertissant que la personne en A1...A2...A3, etc. est sur le point de voir expirer un document de travail. Quel est le script que je dois exécuter pour accomplir cela ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, voici un article qui pourra peut-être vous aider. https://www.extendoffice.com/documents/excel/4661-excel-send-email-if-cell-is-modified.html
Ce commentaire a été minimisé par le modérateur sur le site
C'est proche de ce dont j'ai besoin mais je suis coincé avec deux problèmes. Tout d'abord, je dois exécuter ceci sur l'ensemble de mon classeur qui reçoit de nouvelles feuilles de calcul ajoutées quotidiennement. 1ème J'en ai besoin pour inclure le nom de la feuille de calcul dans l'e-mail afin que je sache quelle feuille est due. Je crée de nouveaux tickets (feuilles de calcul) avec un champ qui est une date future, lorsque ce jour arrive, j'ai besoin d'un e-mail. Merci de votre aide.
Ce commentaire a été minimisé par le modérateur sur le site
Felicidades por el matériel; pero pas me funciona. Al parecer el Rango no se llena, por ende queda vacío y sale de la rutina.

Correction d'Alguna ?
Ce commentaire a été minimisé par le modérateur sur le site
holagracias por tu ayuda...tengo una consulta.....en la formule Set xRgDate = Application.InputBox("Veuillez sélectionner la colonne de date d'échéance :", "KuTools For Excel", , , , , , 8), el 8 que signifie ?
Ce commentaire a été minimisé par le modérateur sur le site
Les cases ne se remplissent pas automatiquement après avoir cliqué sur OK. Où puis-je modifier le sujet, l'adresse e-mail et le corps de l'e-mail dans le code ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour j'ai copié les codes, à la validation il me demande bien les cellules concernées, mais lorsque que je valide, il ne me propose pas la suite des fenêtres, sujets, adresses etc
Ce commentaire a été minimisé par le modérateur sur le site
Salut, boutry, désolé je réponds en anglais car je ne connais pas le français. Puis-je connaître votre format de date et d'heure ? Je suppose que le code ne fonctionne peut-être que pour la date et l'heure au format de date anglais.
Ce commentaire a été minimisé par le modérateur sur le site
Merhaba, bir excel dosyasında hatırlatıcı olarak bu konuyla ilgili VSB nin nasıl yapıldığı ile ilgili bilgiye ihtiyacım var. Örneğin boş bir hücreye bilgi girildiğinde bana mail at ya da 3 hafta sıklıkla hücreye bilgi girilip girilmediğiyle alakalı bana bilgi ver.

Hertürlü bilgi ve kaynağa açığım. Şimdiden herkese teşekkür ederim..
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Mehmet, voici un tutoriel Comment envoyer un e-mail si une certaine cellule est modifiée dans Excel ? cela parle d'envoyer un e-mail avec le fichier excel en pièce jointe si les cellules de la plage spécifique sont modifiées, ce qui peut vous aider.
Ce commentaire a été minimisé par le modérateur sur le site
Çok teşekkür ederim..
Ce commentaire a été minimisé par le modérateur sur le site
ça ne se passe pas le prochain xRgEach si j'ai les mêmes dates plusieurs fois, ça envoie des mails au même utilisateur plusieurs fois.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, vaibhav, vous pouvez supprimer les heures en double en utilisant la fonction Supprimer les doublons dans les outils de données sous l'onglet Données, puis en utilisant le VBA.
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés