Bonjour à popoulpe qui nous a écrit :
ca marche parfaitement.
J'ai juste fait une modif : remplace courriel.save par courriel. send car sinon le mails ne partaient pas.
Merci pour cette précision, les essais étaient en effet limité à vérifier que la date d'envoi était bien modifiée.
Je ne m'explique d'ailleurs pas bien pourquoi il faut faire un send, mais c'est toujours la réalité qui a raison.
Une dernière question pour que je me lance un peu dans la programmation:
comment obtenir le nombre de mail placé dans la boite d'envoi
Le nombre d'éléments d'une collection est donné par la propriété count.
Ici ce serait : BoiteEnvoi.Items.Count
et comment specifier un mail par sa position dans la boite d'envoi.
Amha, il n'y a aps de "position", mais vous pouvez accéder aux éléments la collection des courriels avec un indice.
Pour défiler toute une collection, on peut faire un for each ce qui a été fait ici, une autre solution aurait été de faire :
for i = 1 to BoiteEnvoi.Items.Count
BoiteEnvoi.Items(i).DeferredDeliveryTime = ...
next i
On peut penser que le courriel d'indice 1 est le premier qui a été placé dans la boite d'envoi, et ainsi de suite. Mais je serais étonné que quelqu'un puisse le garantir.
C'est pour cela que je vous avais demandé des précisions.
L'idee etant de différé une partie des mails pour une certaine date et heure, et une autre partie des mails à une date et heure differente.
Pas de problème, vous pourriez donc faire :
if i < BoiteEnvoi.Items.Count/2 then
' première moitié
BoiteEnvoi.Items(i).DeferredDeliveryTime = dans 5 minutes
else
BoiteEnvoi.Items(i).DeferredDeliveryTime = dans une heure
endif
Si l'ordre d'envoi est important, il faut revoir la chose.
bon courage.
A+