IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

VBA OUTLOOK: incrémentation des dates


Sujet :

VBA Outlook

  1. #1
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Points : 53
    Points
    53
    Par défaut VBA OUTLOOK: incrémentation des dates
    Bonjour,

    j'ai crée une macro sous OUTLOOK qui me permet d'envoyer des mails avec un BODY qui change selon l'heure du système. mon souci c'est de changer le BODY du mail selon l'heure de réception du mail précédent et non pas l'heure du système.un autre problème c'est que lors de l'incrémentation des dates il ne tient pas compte des jours non ouvrables (samedi, dimanche), je voudrais afficher dans le BODY du mail que les jours ouvrables.

    ci-dessous mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Sub test1()
     
    Dim appOutLook As Object
     
    Dim MailOutLook As Object
     
    Dim strbody As String
     
     
    Dat = Date
    Tim = DateAdd("d", 1, Dat)
    Tim1 = DateAdd("d", 2, Dat)
     
    If Time < "08:00" Then
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
     
    Else
     
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim1 & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
    End If
     
     
    Set appOutLook = CreateObject("Outlook.Application")
     
    Set MailOutLook = GetCurrentItem.ReplyAll
     
    With MailOutLook
     
    .Display
    .Subject = "Confirmation Date"
    .Recipients.ResolveAll
    .HTMLBody = strbody & "<br>" & .HTMLBody
    .Display
     
    End With
     
    Set MailOutLook = Nothing
    Set appOutLook = Nothing
     
     
    End Sub
    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    selon l'heure de réception du mail précédent
    précédent quoi ? tu veux parler de l'heure de réception du Mail auquel tu réponds ?

  3. #3
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Points : 53
    Points
    53
    Par défaut
    Bonjour OLIVIER,

    Oui l'heure de réception du Mail auquel je vais répondre.

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Sub test1()
     
    Dim appOutLook As Object
     
    Dim MailOutLook As Object
     
    Dim strbody As String
     
     
     
    Set appOutLook = CreateObject("Outlook.Application")
    Set MailOrigine =  GetCurrentItem
    Set MailOutLook = GetCurrentItem.ReplyAll
     
    Dat = MailOrigine.ReceivedTime
     
    Tim = DateAdd("d", 1, Dat)
    Tim1 = DateAdd("d", 2, Dat)
     
    If Time < "08:00" Then
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
     
    Else
     
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim1 & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
    End If
     
    With MailOutLook
     
    .Display
    .Subject = "Confirmation Date"
    .Recipients.ResolveAll
    .HTMLBody = strbody & "<br>" & .HTMLBody
    .Display
     
    End With
     
    Set MailOutLook = Nothing
    Set appOutLook = Nothing
     
     
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    ça ne marche pas olivier, la date insérée dans le BODY reste figée même avec le changement de l'heure du mail précédent. y'a til un moyen de ne pas prendre en considération les jours non ouvrables ? ci-dessous mon code entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function GetCurrentItem() As Object
        Dim objApp As Outlook.Application
     
        Set objApp = Application
        On Error Resume Next
        Select Case TypeName(objApp.ActiveWindow)
            Case "Explorer"
                Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
            Case "Inspector"
                Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
        End Select
     
        Set objApp = Nothing
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub test1()
     
    Dim appOutLook As Object
     
    Dim MailOutLook As Object
     
    Dim strbody As String
     
     
     
    Set appOutLook = CreateObject("Outlook.Application")
    Set MailOrigine = GetCurrentItem
    Set MailOutLook = GetCurrentItem.ReplyAll
     
    Dat = MailOrigine.ReceivedTime
    Tim = DateAdd("d", 1, Dat)
    Tim1 = DateAdd("d", 2, Dat)
    Dat = Format(Dat, "dd/mm/yyyy")
     
    If Dat < "09:00" Then
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim1 & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
     
    Else
     
     
    strbody = "<BODY style=font-size:12pt;font-family:Calibri> Bonjour, <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Nous vous confirmons la date du " & Tim & ". <br>" _
              & "<br>" _
              & "<BODY style=font-size:12pt;font-family:Calibri>Cordialement." & "<br>" _
     
    End If
     
    With MailOutLook
     
    .Display
    .Subject = "Confirmation Date"
    .Recipients.ResolveAll
    .HTMLBody = strbody & "<br>" & .HTMLBody
    .Display
     
    End With
     
    Set MailOutLook = Nothing
    Set appOutLook = Nothing

    Merci pour votre aide

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Essaye déjà en enlevant le premier .display
    Pour les jours ouvrés tu dois tester le jour avec weekday dans un select case ou un if elseif. ..et changer ta date en conséquence

  7. #7
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 197
    Points : 53
    Points
    53
    Par défaut
    Merci beaucoup.

Discussions similaires

  1. [OL-2010] VBA OUTLOOK: imprimer un mail dès son envoi
    Par LANGAZOU dans le forum VBA Outlook
    Réponses: 8
    Dernier message: 23/10/2015, 10h27
  2. [XL-2007] VBA Excel - envoi de mail via Outlook
    Par Seg_B dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/10/2011, 12h08
  3. [MySQL] Envoi de mails selon une heure et une date donnée stockée
    Par vw91 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/06/2008, 11h00
  4. [VBA-A] Envoi de mail sans passer par Outlook ou autre.
    Par genius99 dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/02/2006, 07h50
  5. Réponses: 14
    Dernier message: 17/11/2005, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo