Office 365 Envoi de mail suivant condition a destinataire contenu dans une cellule

comardud

XLDnaute Nouveau
Bonjour à tous,
je fais une fois de plus appel aux spécialistes du VBA.

J'aimerais mettre en place des envois de mails automatique sous condition de date.

voilà un exemple du fichier que j'aimerais créer.

1570632570138.png

La condition serait que:
Si la différence entre la date du jour et la date inscrite dans la colonne A dépasse 30 jours alors un mail est automatiquement envoyé à l'adresse contenue dans la colonne F (sur la même ligne que la date en question évidemment). Le mail (objet et sujet) serait quand à lui le même à chaque fois, il n'y aurait que le destinataire qui change.

J'ai lu pas mal de choses à ce sujet mais j'avoue très humblement que ça dépasse mes compétences dans le domaine :)
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

comardud
Alors juste histoire de commencer à asseoir tes compétences, un petit test (à vocation inspiratrice)
VB:
Sub test()
Dim adressmail As Range
If Not IsDate(ActiveCell) Then Exit Sub
If DateDiff("d", Date, ActiveCell.Value) > 30 Then
MsgBox "envoi mail", vbCritical 'juste pour test
Set adressmail = ActiveCell.Offset(, 5) 'juste pour test
MsgBox adressmail.Address(0, 0)
'cf syntaxe envoie mail accessible par tout bon moteur de recherche
'et/ou sur le forum
Else
MsgBox "Pas de hors-délai", vbExclamation
End If
End Sub
 

comardud

XLDnaute Nouveau
Bonjour à tous, bonjour Staple1600
merci de t'interesser à mon cas :)

j'ai inséré ce code et fais des tests.
Si ma cellule active ne contient rien ou autre chose qu'une date alors il ne se passe rien,
si ma cellule contient une date et quelle que soit cette date j'ai le message "pas de hors délai".
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

comardud
Mon code n'est qu'une piste, une invitation à mettre ta curiosité en marche et à chercher, tester les nombreux exemples qu'on trouve dans les archives du forum.

Pour faire le test, je me suis basé sur ta copie d'écran
des dates en colonne A et des mails en colonne F
Donc testes en mettant des dates en colonne A (dont une > de 30 à aujourd'hui)
Sélectionne-là puis lance la macro.
Ensuite sélectionne une cellule en colonne A (< à aujourd'hui) et lance la macro.
 

comardud

XLDnaute Nouveau
Bonsoir à tous,

merci Staple1600, j'ai compris le message :)
j'ai commencé à me documenter (surtout sur ce forum) sur les envois de mail via VBA.
 

Staple1600

XLDnaute Barbatruc
Re

Un exemple de syntaxe VBA d'envoi d'email dans ce fil
Il y en a de nombreux autres
 

Discussions similaires


Haut Bas