[VBA-E]Envoi de mail journalier
:? Bonjour,
j'ai cette procédure avec moi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Sub START2()
Dim fLag, newHour, newMinute, newSecond, waitTime
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
deb1:
If Time <= "09:30:00" Then
GoTo mail1
ElseIf Time <= "14:30:00" Then
GoTo mail2
ElseIf Time <= "18:30:00" Then
GoTo mail3
Else
GoTo nolaunch
End If
mail1:
While Time < "09:30:00"
DoEvents
Wend
'Application.Wait "09:30:01"
Call SendMeEmail
mail2:
While Time < "14:30:00"
DoEvents
Wend
'Application.Wait "14:30:01"
Call SendMeEmail
mail3:
While Time < "18:30:00"
DoEvents
Wend
'Application.Wait "18:30:01"
Call SendMeEmail
nolaunch:
While Time > "18:30:00"
DoEvents
Wend
GoTo deb1
End Sub |
qui me permet d'envoyer un mail 3 fois par jour :) cette procédure marche très bien hein :) le seul problème est que cette procédure bouffe tout le process :? et que donc quand je la lance dans les processus ça prend énormément de place :? et vu que je travaille sur d'autres fichiers Excel ben ça devient plus long du coup...Comme vous le voyez j'ai essayé de mettre un Wait mais le problème du Wait c'est qu'il arrete carrément tous les process Excel, donc si je suis en train de travailler sous Excel, bah ya tout qui se coupe pendant l'envoi du mail
Alors ma question c'est est-ce qu'il existe un moyen de façon à ce que cette macro fonctionne qu'à l'heure indiquée ? et non qu'elle tourne tout le temps jusqu'a à l'heure de l'envoi ? :?
Pour information j'ai essayé ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub START2()
deb1:
If Time < "09:30:00" Or Time > "18:30:00" Then
Application.OnTime TimeValue("09:30:00"), "SendMeEmail"
End If
If Time > "09:30:00" And Time < "14:30:00" Then
Application.OnTime TimeValue("14:30:00"), "SendMeEmail"
End If
If Time > "14:30:00" And Time < "18:30:00" Then
Application.OnTime TimeValue("18:30:00"), "SendMeEmail"
End If
GoTo deb1
End Sub |
Mais à priori ya un bin's à cette procédure et ça marche pas tout le temps :? sachant qu'il faut que le mail soit donc envoyé 3 fois par jour aux heures indiquées, et tous les jours du lundi au vendredi :)
Vala merci beaucoup pour votre aide si quelqu'un a une solution :oops: :)