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

Macros et VBA Excel Discussion :

Envoi Mail avec ajout d'un suivi


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : septembre 2015
    Messages : 19
    Points : 3
    Points
    3
    Par défaut Envoi Mail avec ajout d'un suivi
    Bonjour à tous,

    Je rencontre une certaine difficulté à marquer un mail généré avec une tache (Flag) et un suivi pour l'expéditeur du mail.
    En effet, on dirait que cela n'as pas été pensé...

    Voici le 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
     
    Public Sub SendMail()
     
        Dim myMail As Outlook.MailItem
        Dim myOutlApp As Outlook.Application
     
        Set myOutlApp = New Outlook.Application
        Set myMail = myOutlApp.CreateItem(olMailItem)
     
        With myMail
            .To = "destinataire@mail.com"
            .Subject = "Mon sujet"
            .HTMLBody = "Corps du mail"
     
            .FlagRequest = "Follow up" 'Ajout drapeau pour Destinataire
            .Categories = "Rappel" 'Marque la categorie du mail
            .FlagStatus = olFlagMarked ' Est censsé ajouter le flag
            .FlagIcon = olRedFlagIcon ' Couleur du Flag, pas d'effet
            .Importance = olImportanceHigh
            .TaskSubject = "Call" 'Pas d'effet visible
            .TaskStartDate = Date 'Date de départ Aucun effet
            .TaskDueDate = #1/30/2020 4:00:00 PM# 'Date de Fin Aucun effet
            .FlagDueBy = DateAdd("d", 2, Date) ' Ajout delai pour la tache destinataire
            .ReminderSet = True    'Activation du Rappel
            .ReminderTime = #1/30/2020 4:00:00 PM#
            .Display
     
        End With
     
        Set myMail = Nothing
        Set myOutlApp = Nothing
     
    End Sub
    Le mail généré n’intègre pas les actions demandés (voir Pj)
    On peut voir que la case "Mon Indicateur est coché" mais la tache n'est pas ajoutée.
    De plus la date de début et de fin ne correspondent pas à la demande dans VBE
    Impossible d'activer le rappel.

    Pour la partie Destinataire:
    ReminderSet active le rappel mais pour les destinataires uniquement
    La case rappel reste grise, pas possible de l'activer.
    En revanche la date du rappel est Ok

    J'ai parcouru le web à la recherche d'informations, apparemment il n'est pas possible via VBA de marquer un mail non enregistré ou en brouillon.... Je suis perplexe car on peut le faire à la sourie...bref
    Peut etre avez vous des informations ou des solutions à me proposer!
    Si effectivement cette information est vrai, il me reste deux solutions pas idéale mais bon:
    • De marquer le mail quand il à été envoyer via le dossier "envoyé"
    • De créer une tache en parallèle est de mettre le mail envoyé dedans.



    Dans les deux cas il faudrait que je puisse récupérer le mail envoyé en tant qu'Item, ce que je ne maîtrise pas du tout!
    Sur ce forum, un utilisateur évoque cette solution:
    https://stackoverflow.com/questions/...ach-it-to-task


    Pouvez-vous me donner un coup de main?

    Merci

    Ma version d'Excel: 2016
    Images attachées Images attachées  

  2. #2
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    septembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : septembre 2015
    Messages : 19
    Points : 3
    Points
    3
    Par défaut
    Re,

    Je me suis penché sur la solution de récupérer le mail après envoi dans le dossier "Eléments envoyés".
    Voici les deux Sub:
    • 1ere pour l'envoi du message
    • 2eme pour récupérer et créer la tache+suivi


    En revanche j'ai été obligé de marquer une pause avant la récupération, car sinon la tache+suivi n'est pas crée.
    Peut être y-a t'il une autres solution.
    De plus je boucle tant que le mail n'est pas envoyé, cela ne mange pas trop de ressource, mais je ne vois pas ce que je pourrai faire d'autre... (pas très corporate )

    Pour la 2eme Sub, je n'ai pas trouver autres solutions que de compter le nombre d'items dans le dossier "Eléments Envoyé" est de définir le dernier mail par le nombre total d'Items. Un peu de la débrouille me semble t'il, peut être a t'il plus léger!?

    Si vous avez des suggestions d'amélioration, je suis tout ouïe.


    Ps: Le code fonctionne à ce stade
    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
    55
    56
     
    Public Sub SendMail()
     
        Dim myMail As Outlook.MailItem
        Dim myOutlApp As Outlook.Application
     
        Set myOutlApp = New Outlook.Application
        Set myMail = myOutlApp.CreateItem(olMailItem)
     
        With myMail
            .To = "destinataire@mail.com"
            .Subject = "Mon sujet"
            .HTMLBody = "Corps du mail"
            .Display
        End With
     
        Do Until myMail.Sent = False
            DoEvents
        Loop
        Application.Wait (Now + TimeValue("00:00:05"))
     
        RecupMailEnvoyer
     
        Set myMail = Nothing
        Set myOutlApp = Nothing
     
    End Sub
     
    Sub RecupMailEnvoyer()
     Dim MonOutlook As Object, MonMail As Object
     Dim myItem As Outlook.MailItem
     Dim x As String
     
     Set MonOutlook = CreateObject("Outlook.Application")
            With MonOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail)
            x = .Items.Count 'Permet de compter le nombre d'item et de l'enregistrer dans la variable
            Set MonMail = .Items(x) 'Permet de cibler le dernier mail envoyé
            End With
            If MonMail.Subject = "Mon sujet" Then
                With MonMail
                    .MarkAsTask (olMarkTomorrow)
                    .FlagRequest = "Follow up" 'Ajout drapeau pour Destinataire
                    .Categories = "Rappel Prospects/Clients" 'Marque la categorie du mail
                    .FlagStatus = olFlagMarked ' Ajouter le flag
                    .FlagIcon = olRedFlagIcon ' Couleur du Flag, pas d'effet
                    .Importance = olImportanceHigh
                    .TaskSubject = "Nom du contact et sujet mail" 'Sujet
                    .TaskStartDate = Date 'Date de départ Aucun effet
                    .TaskDueDate = #1/30/2020 9:00:00 PM# 'Date de Fin Aucun effet
                    .FlagDueBy = DateAdd("d", 2, Date) ' Ajout delai pour la tache destinataire
                    .ReminderSet = True    'Activation du Rappel
                    .ReminderTime = #1/30/2020 4:00:00 PM#
                    .Save
                End With
            End If
    End Sub

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/11/2007, 12h17
  2. [VB]Bp envoie mail avec piéce jointe
    Par jm1213 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/02/2006, 21h55
  3. [Oracle 10g] Envoi mail avec PJ à une heure donnée
    Par djoule6 dans le forum Oracle
    Réponses: 5
    Dernier message: 25/10/2005, 12h51
  4. Envoi mail avec Outlook accusé de réception
    Par KapoueMan dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2005, 11h41
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 17h02

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