Outlook VB

achraf00 -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

j'ai besoin de votre aide pour paramétrer Outlook afin qu'il envoie un mail avec une PJ à une heure fixé à l'avance.

ce script :cherche un fichier depuis mon PC.
mais je veux rajouter la condition d'envoie une heure bien définie?

Ci dessous mon travail.

*********************************************
Sub SendEMailwithAttachments()

Dim ol As Object, myItem As Object
Set ol = CreateObject("outlook.application")
Set myItem = ol.CreateItem(olMailItem)
myItem.To = "Prénom.NOM@*****.com"
myItem.Subject = "envoi d'un fichier attaché"
myItem.Body = "TEST"
'C:\Documents and Settings\ops48ac1\Desktop\Copy of heures.xls:
myItem.Attachments.Add "C:\Documents and Settings\Desktop\test.txt"
myItem.Send

Set ol = Nothing

End Sub
*********************
d'avance merci

2 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Voir OnTime.
    Application.OnTime TimeValue("17:00:00"), "SendEMailwithAttachments"

    Tu met ce code dans un bouton par exemple, tu clic sur le bouton à 13hr mais la macro ne sera exécutée qu'à 17hr
    A+
    0
    1. achraf00
       
      bonjour,
      merci bcp pour ta réponse j'ai pu trouver le code et je pense qu'il sera utile pour vous:
      myItem.DeferredDeliveryTime = ("heures")
      0
    2. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Effectivement, je la connaissais pas celle là.
      Merci
      A+
      0
    3. achraf00
       
      il me reste maintenant comment
      programmer l'envoie au quotidiens c'est à dire chaque jour de mon fichier!
      0
    4. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Tu est sur quel appli, Excel.. Word ..
      0
    5. achraf00
       
      directement sur outlook (VB)
      au faite mes fichier et mon travail c'est sur excel (pour le moment manuellement)
      mais j'aime pas trop rédiger des mails et .........
      donc j'ai crée des macro pré-définies pour chaque envoie et il cherche seulement le fichier à un temps bien déterminer le joindre et l'envoie au quotidiens
      0
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Une idée ?
    Créer un nouveau classeur avec la/les macro sans myItem.DeferredDeliveryTime = ("12:00")
    ajouter une sub..
    Sub Fermer
        ThisWorkBook.Close
    End Sub

    Dans le ThisWorkBook_0pen mettre la proposition précédante.
    Application.OnTime TimeValue("12:00:00"), "SendEMailwithAttachments"
    Application.OnTime TimeValue("23:59:00"), "Fermer"

    Et te servir du planificateur de tâche pour relancer le classeur un peu avant l'heure d'envoi du mail.
    Pour que tes macro fonctionne pas oublier d'ajouter la référence à Outlook.
    A+
    0