Lancement d'une macro à réception d'un mail

Fermé
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020 - 3 sept. 2015 à 08:28
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020 - 10 sept. 2015 à 14:37
Bonjour,
Je reçois des mails que je range dans un dossier via une règle. J'aimerais dans la suite de cette règle e exécuter une macro qui récupérerait l'émetteur, la date de, l'heure et l'objet pour les enregistrer dans un fichier Excel. mon objectif est de mettre en place une statistique en fin de mois sur les mails reçus.
est ce réalisable et si oui comment faire ?
Merci d'avance pour votre aide
bonne journee
A voir également:

3 réponses

denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020
4 sept. 2015 à 08:08
Bonjour,
une petite idée pour m'aider à démarrer ?
Bonne journée

--
0
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020
6 sept. 2015 à 08:35
Je vais continuer à investiguer seul et vous ferez pas de mon retour
- comment lancer une macro a réception d'un mail
- comment dans ce mail récupérer les informations
Comment lancer excel dans une macro Outlook
Comment ajouter les informations du message dans le fichier excel

--
0
denisw95 Messages postés 47 Date d'inscription vendredi 18 décembre 2009 Statut Membre Dernière intervention 3 mai 2020
10 sept. 2015 à 14:37
Bonjour,

J'ai trouvé ce code sur un forum qui, à priori selon les commentaires, fonctionne mais pas chez moi
Sub test(Mail As MailItem)

Dim strID As String, olNS As Outlook.NameSpace
Dim olMail As Outlook.MailItem
Dim strFileName As String

Dim strSource As String

'~~> Excel Variables
Dim oXLApp As Object, oXLwb As Object, oXLws As Object
Dim lRow As Long

MsgBox "Début"

strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set olMail = olNS.GetItemFromID(strID)

'~~> Establish an EXCEL application object
On Error Resume Next
Set oXLApp = GetObject(, "Excel.Application")

'~~> If not found then create new instance
If Err.Number <> 0 Then
Set oXLApp = CreateObject("Excel.Application")
End If
Err.Clear
On Error GoTo 0

'~~> Show Excel
oXLApp.Visible = True

'~~> Open the relevant file
strSource = "C:\Suivi des arrivées.xlsx"
MsgBox strSource
Set oXLwb = oXLApp.Workbooks.Open(strSource)

'~~> Set the relevant output sheet. Change as applicable
Set oXLws = oXLwb.Sheets(1)

lRow = oXLws.Range("A" & oXLApp.Rows.Count).End(xlUp).Row + 1

'~~> Write to outlook
With oXLws
'
'~~> Code here to output data from email to Excel File
'~~> For example
'
.Range("A" & lRow).Value = olMail.Subject
.Range("B" & lRow).Value = olMail.SenderName
'
End With

'~~> Close and Clean up Excel
oXLwb.Close (True)
oXLApp.Quit
Set oXLws = Nothing
Set oXLwb = Nothing
Set oXLApp = Nothing

Set olMail = Nothing
Set olNS = Nothing

MsgBox "Fin de traitement"


En fait, il ne se passe rien.
J'ai ajouté des MsgBox pour voir par où il passe mais rien.
La macro est bien activée par une règle (si je mets tout en commentaire en laissant simplement les MsgBox, j'obtiens bien les affichages)
J'ai ajouté des MsgBox pour voir par où il passe mais rien.
Une idée ?
J'ai activé le lien Outlook/Excel dans les références
J'ai ajouté des MsgBox pour voir par où il passe mais rien.
0