Suivie mail en VBA

Jondsyl

XLDnaute Nouveau
Bonjour,
J'utilise l'envoi de mail en auto depuis Excel via VBA sans aucun PB
Mes collégues me demande la possibilité de faire des relances en automatique

Je m'explique, sous outlook il existe une option "assurer un suivi" / option personalisé ...

Existe t il un code pour atteindre cette fonction en VBA et configurer un suivie automatique ?

Merci d'avance
Sylvain
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Suivie mail en VBA

Bonjour Jondsyl et bienvenue sur le forum,
Bonjour le forum,

Il te faut utiliser la méthode Ce lien n'existe plus de l'objet Ce lien n'existe plus.
Ensuite, il faut paramétrer les différents champs et ne pas oublier d'enregistrer les modifications apportées à l'email.

326615d1422453297-suivie-mail-en-vba-suivimail.jpg



Ci-dessous un exemple VBA :

VB:
Dim mItem As MailItem

    Set mItem = 'récupérer le mail à suivre dans la boîte d'envoi ou un dossier
    
    With mItem
                
        'marquer l'email à partir d'aujourd'hui
         .MarkAsTask olMarkToday
        
        'définir le type de suivi
         .FlagRequest = "Assurer un suivi"
        
        'définir les dates
         .TaskStartDate = #1/28/2015#
        .TaskDueDate = #2/25/2015#
        
        'définir le rappel
         .ReminderSet = True
        .ReminderTime = #1/30/2015 4:00:00 PM#
        
        'enregistrer les modifs
         .Save
        
    End With

A+
 

Pièces jointes

  • SuiviMail.jpg
    SuiviMail.jpg
    36.5 KB · Affichages: 211
Dernière édition:

Jondsyl

XLDnaute Nouveau
Re : Suivie mail en VBA

Bonjour,
Je ne suis pas un pro de VBA
Si -joint, mon code pour l'envoi automatique du mail
J'ai inséré le code que tu m'as communiqué

Que dois je mettre quand tu dis "'récupérer le mail à suivre dans la boîte d'envoi ou un dossier" ?
Mon mail par automatiquement les suivies (les règles) doivent être réglé automatiquement par exemple 3 jours à partir de la date d'envoi et pas une date en dure telle que tu m'as proposé

Merci pour ta réponse
Sylvain

Sub Email_DI()

Dim User As String
Dim Chemin As String
Dim NomDI As String
Dim mItem As MailItem

Dim Nom_client As String
Dim Email_SAV As String
Dim Email_TCI As String
Dim Email_TCS As String
Dim Nom_ATS As String
Dim Email_DTS As String
Dim Tel_ATS As String
Dim Fax_ATS As String
Dim Email_ATS As String
Dim Atelier As String
Dim Atelier2 As String
Dim Atelier3 As String
Dim Atelier4 As String
Dim N_DI As String


User = Application.UserName
Chemin = "C:\Users\" & User & "\Desktop\"


Set appOutlook = CreateObject("outlook.application")
Set mailoutlook = appOutlook.CreateItem(olMailItem)

With mailoutlook

Nom_client = Worksheets("D_Email").Range("A1").Value
Email_SAV = Worksheets("D_Email").Range("A2").Value
Email_TCI = Worksheets("D_Email").Range("A3").Value
Email_TCS = Worksheets("D_Email").Range("A4").Value
Nom_ATS = Worksheets("D_Email").Range("A5").Value
Email_DTS = Worksheets("D_Email").Range("A6").Value
Tel_ATS = Worksheets("D_Email").Range("A7").Value
Fax_ATS = Worksheets("D_Email").Range("A8").Value
Email_ATS = Worksheets("D_Email").Range("A9").Value
Atelier = Worksheets("D_Email").Range("A10").Value
Atelier2 = Worksheets("D_Email").Range("A11").Value
Atelier3 = Worksheets("D_Email").Range("A12").Value
Atelier4 = Worksheets("D_Email").Range("A13").Value
N_DI = Worksheets("D_Email").Range("A14").Value

.Attachments.Add "C:\Users\" & User & "\Desktop\" & N_DI & ".xlsm"
.To = Atelier & ";" & Atelier2 & ";" & Atelier3 & ";" & Atelier4 ' le destinataire
.cc = Email_TCI & ";" & Email_TCS & ";" & Email_SAV & ";" & Email_DTS
'.BCC =
.Subject = N_DI ' l'objet du mail

.HTMLBody = "Madame, Monsieur, <br><br>" _
& "Veuillez trouver ci-joint une DI pour action !!<br>" _
& "Merci de transmettre le rapport d'intervention à remplir sur site à votre intervenant.<br>" _
& "<br>" _
& "<br>" _
& "Nous restons à votre disposition pour tous renseignements complémentaires. <br><br>" _
& "Salutations distinguées/ Mit freundlichen Grüssen/ Kind regards <br>" _
& "<font color= red><br><br>" _
& "@Atelier : <font color= blue> A réception de cette demande d'intervention , merci de contacter le client sous 48 heures , afin et selon les cas suivants :<br>" _
& " - De convenir d'un date d'intervention avec le client si cela est possible dès à présent.<font color= blue><br>" _
& " - De lui signifier que vous avez bien pris en compte la demande et que vous êtes en attente de pièces de rechange de KSB.<br>" _
& " - Dès réception des pièces vous reprendrez contact avec le client pour convenir d'une date d'intervention.<font color= red><br><br>" _
& "@SAV :<br><br>" _
& "@DTS :<br><br><font color= Black>" _
& "" & Nom_ATS & "<br>" _
& "KSB S.A.S. - Service Clients <b><br>" _
& "Tel.: " & Tel_ATS & " - Fax.: " & Fax_ATS & " - Mail.: <font color= blue>" & Email_ATS & " <br><br> " _

.Display

End With
Set appOutlook = Nothing
Set mailoutlook = Nothing
Set mItem = 'récupérer le mail à suivre dans la boîte d'envoi ou un dossier

With mItem

'marquer l'email à partir d'aujourd'hui
.MarkAsTask olMarkToday

'définir le type de suivi
.FlagRequest = "Assurer un suivi"

'définir les dates
.TaskStartDate = #1/28/2015#
.TaskDueDate = #2/25/2015#

'définir le rappel
.ReminderSet = True
.ReminderTime = #1/30/2015 4:00:00 PM#

'enregistrer les modifs
.Save

End With

End Sub
 

mromain

XLDnaute Barbatruc
Re : Suivie mail en VBA

Re bonjour,

A la lecture de ton dernier post, je me demande si j'ai bien compris ton problème ??

D'après ce que j'ai compris de ta macro, elle crée une base de mail, mais ne l'envoie pas.
A la fin de l'exécution de celle-ci, le mail n'est qu'un brouillon dans Outlook.

Il me semble qu'il est impossible de mettre en place un suivi sur les brouillons.

D'où cette question :)
Qu'entendais-tu exactement dans ton premier post par :
...sous outlook il existe une option "assurer un suivi" / option personalisé...

Comment mets-tu en place ce suivi manuellement ?


A+
 

Jondsyl

XLDnaute Nouveau
Re : Suivie mail en VBA

Le but est bien d envoyer l email....
oui cela s arrête avant envoi juste pour que la personne qui utilise le fichier excel puisse y joindre des pièces jointes

Je voudrais par le biais du suivie faire un rappel automatique 2 / 3 jours après du genre :
' je n ai pas eu de réponse de votre part pour le dossier cité en objet'
Ou pour moi, il ne ton pas répondu

Quelque chose comme ça ... ( je n ai pas encore testé la fonction sur Outlook)

Dans tous les cas je peux aller chercher le mail après envoi et faire la manippe dans un temps 2 aucun pb
 
Dernière édition:

Jondsyl

XLDnaute Nouveau
Re : Suivie mail en VBA

Re bonjour,

J'était en réunion hier et je n'étais pas tres dispo pour tester ..

J'ai testé, cela fait un rappel dans les taches d'outlook c'est bien ce que je veux
Je peux le faire sur un mail envoyé dans la boite élément envoyé, mais je peux le configurer sur un mail en rédaction
Je pense que c'est mon cas ...

Le mail est arrêté uniquement pour reprendre éventuellement le texte et joindre des pièces jointes
Je veux juste automatisé le faite d'aller dans :

Assurer un suivi / personaliser /
Capture.JPG

Rappel a faire date du jour + 3 jours
Merci de ton aides
Sylvain
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    77.8 KB · Affichages: 179
  • Capture.JPG
    Capture.JPG
    77.8 KB · Affichages: 152

Jondsyl

XLDnaute Nouveau
Re : Suivie mail en VBA

'définir les dates
Mes tests semble marcher

.TaskStartDate = Date + 1
.TaskDueDate = Date + 2

'définir le rappel
.ReminderSet = True
.ReminderTime = #1/30/2015 4:00:00 PM#

Par contre comment je peux remplacer
#1/30/2015 4:00:00 PM#
par par exemple la date du jour + 2 et l'heure du moment ?? une heure fixe le matin a 9h me va également pour tous les rappels

Le rappel marche donc pour les destinataires
Et pour l'envoyeur qui attend une réponse est il possible de valider un rappel également ?

Merci d'avance
sylvain
 

mromain

XLDnaute Barbatruc
Re : Suivie mail en VBA

Bonjour Jondsyl, le forum

Tu peux essayer avec ça :
VB:
.ReminderTime = Now + 2
.ReminderTime = Date + 2 + TimeValue("09:00:00")

Le rappel marche donc pour les destinataires
Et pour l'envoyeur qui attend une réponse est il possible de valider un rappel également ?

Je n’ai de mon côté pas réussi à faire marcher le rappel pour les destinataires, du moins, pas jusqu’à créer un vrai rappel (pop-up) ou une tache dans le compte Outlook du destinataire.
Le comportement de ces rappels est assez étrange, et leur manipulation via VBA aussi.

Concernant le rappel de l’expéditeur :
De ce que j’ai testé, le meilleur moyen est de créer une tâche lié au mail envoyé.

En VBA, c’est assez simple via la méthode MarkAsTask présentée dans le post #2. Cette méthode ne marche que sur des objet non brouillons, ce qui implique qu’il faut effectuer le traitement une fois le mail envoyé.
On peut par exemple déclencher le traitement du mail dès qu’il arrive dans le dossier éléments envoyés ou autre…

A+
 

Discussions similaires

Réponses
2
Affichages
198

Statistiques des forums

Discussions
312 100
Messages
2 085 294
Membres
102 854
dernier inscrit
ADRIENVR