Envoyer un mail (contenant une plage excel) à intervalle régulier

vdh_xavier

XLDnaute Junior
Bonjour à tous,

J'ai un problème dans une macro excel : J'aimerais qu'un mail contenant une plage de données précise s'envoie automatiquement par exemple tous les lundis.

L'adresse du destinataire est toujours la même.

J'ai réussi à créer la macro pour envoyer le mail, me je ne parviens pas à y ajouter l'exécution automatique ni la récurrence hebdomadaire.

Voici mon code :

Sub Mail()


Sheets("Retards MD").Range("B2:C3").Select
ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = "Rapport du lundi matin."
.Item.To = "xx.x@xx.com"
.Item.Subject = "Retards MD"
.Item.Send

End With
End Sub


De plus, la plage de données concernée prend des informations d'un autre fichier excel. Faut-il donc d'abord faire une macro pour récupérer les données avant de faire l'envoi par mail?

Quelqu'un sait-il m'aider?

Je vous remercie d'avance pour votre aide.

Xavier
 

Yaloo

XLDnaute Barbatruc
Re : Envoyer un mail (contenant une plage excel) à intervalle régulier

Bonsoir Xavier,

Pour l'envoi tous les lundis, il faut faire un code à l'ouverture de ton fichier.

Par exemple, celui ci-dessous :
VB:
Private Sub Workbook_Open()
If Weekday(Date) = 2 Then MsgBox "Ta macro mail"
End Sub

A+

Martial
 

Yaloo

XLDnaute Barbatruc
Re : Envoyer un mail (contenant une plage excel) à intervalle régulier

Oups ! je n'avais pas lu jusqu'à la fin :eek:

Oui il faut en premier lieu ouvrir ton fichier, ou bien récupérer les données sans ouvrir le fichier (avec la méthode ADO).

A+
 

Discussions similaires

Statistiques des forums

Discussions
314 629
Messages
2 111 351
Membres
111 111
dernier inscrit
houndemint