Envoyer un mail automatiquement par rapport à une date sous Excel

Bonjour,

J'ai créé un tableau Excel qui reprend des commandes client qui doivent être réglées avant livraison.

Je souhaiterais qu'un mail soit automatiquement envoyé à un destinataire qui serait toujours le même et ceci dès que la date de règlement serait renseignée manuellement,

pour informer le destinataire du règlement de cette commande.

Si cela est possible j'aimerais de dans l'objet du mail ce soit précisé une phrase précise : "PROFORMA / ACOMPTE RÉGLÉ CE JOUR"

Dans le corps du mail, que ce soit précisé REGLEMENT PROFORMA / ACOMPTE DU "date du jour" pour le client "nom du client" (colonne A) pour la commande "n° du document" (colonne B et C) de "montant commande " (colonne E).

Si cela est possible j'aimeras aussi que ces mails s'envoient automatiquement sans me demander l'autorisation d'envoi.

Par avance merci de voter aide précieuse.

Hello,

Tu ne peux pas envoyer de mail par rapport à une date.

Tu seras obligé de cliquer sur un bouton ou au mieux ouvrir le fichier

En ouvrant le fichier ça me va car c'est lors de la saisie de la date de règlement que je souhaite qu'un mail soit envoyé et même s'il faut valider l'envoi, je suis quand même preneuse.

Hello,

Une proposition.

Une fois la date modifiée en G le mail part SI O1 = oui (utiliser la liste déroulante) sinon il s'affiche.

En Q1 le destinataire à modifier.

A part ça rien à faire.

On peut rajouter des couleurs dans le corps si besoin (Sans être trop sophistiqué )

J'avais pensé à une macro, j'ai essayé avec ce que j'ai trouvé sur le net mais je ne suis pas assez calée pour l'adapter à mon cas (voir ci-dessous la macro trouvée sur internet)

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

Edit modo : Merci de mettre le code entre balises avec le bouton </>

Tu as testé mon fichier ?

Cela fonctionne nickel...Merci beaucoup

Serait-il possible de m'expliquer la méthode...pour que je comprenne et me permettre de m'en resservir à l'avenir.

Par avance merci

Hello,

La méthode est la suivante :

Il y a du code directement dans ta feuille de saisie.

Ce code détecte si un changement est effectué dans n'importe quelle cellule de la colonne G ( à noter que les copié-collé ne sont pas considérés comme des changements)

Si une cellule est modifiée alors on envoi un mail.

J'essaie de reproduire ce que tu as fait directement dans mon doc mais des éléments doivent me manquer car aucun mail ne s'envoie.

Le mieux serait d'importer tes données dans le classeur excel que je t'ai donné

Bonjour,

Je me doute que c'est le plus simple mais j'aime bien comprendre ce que je fais.

Donc si c'est possible merci de m'aider à comprendre la façon de procéder.

Par avance merci

Rechercher des sujets similaires à "envoyer mail automatiquement rapport date"