Je travaille en ce moment sur un projet que je vous soumet:
Comment, à partir d'une boîte de réception Microsoft Outlook (pas Outlook
Express)
peut on à l'aide d'exel "lire" l'objet du mail, son expéditeur, la date
d'envoi ...
Pour ensuite faire un suivi, des statistiques
J'avoue avoir chercher mais sans grand succés
Connaissez vous une astuce? un site Web ... ?
Merci à Vous
Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour R2D2,
Dans VBE (Alt+F11) :
Outils => Références => cocher Microsoft Oulook xx.0 Object Library
Private Sub ListeMail() Dim ol As Outlook.Application Dim ns As Outlook.NameSpace Dim fld As Outlook.MAPIFolder Dim itm As Outlook.MailItem Dim i As Integer
On Error Resume Next Set ol = GetObject(, "Outlook.Application") If Err.Number = 429 Then Set ol = CreateObject("Outlook.Application") End If On Error GoTo 0 Set ns = ol.GetNamespace("MAPI") Set fld = ns.GetDefaultFolder(olFolderInbox) fld.Display Range("A1").Select For i = 1 To fld.Items.Count Set itm = fld.Items(i) ActiveCell.Value = itm.Subject ActiveCell.Offset(0, 1).Activate ActiveCell.Value = itm.SenderName ActiveCell.Offset(0, 1).Activate ActiveCell.Value = itm.ReceivedTime ActiveCell.Offset(1, -2).Activate Next i Range("A:C").Columns.AutoFit ol.Quit Set ol = Nothing End Sub
PS : la prochaine fois pose la question dans le corps du message, pas dans la signature ;-)
-- Cordialement,
Jacques.
Bonjour R2D2,
Dans VBE (Alt+F11) :
Outils => Références => cocher Microsoft Oulook xx.0 Object Library
Private Sub ListeMail()
Dim ol As Outlook.Application
Dim ns As Outlook.NameSpace
Dim fld As Outlook.MAPIFolder
Dim itm As Outlook.MailItem
Dim i As Integer
On Error Resume Next
Set ol = GetObject(, "Outlook.Application")
If Err.Number = 429 Then
Set ol = CreateObject("Outlook.Application")
End If
On Error GoTo 0
Set ns = ol.GetNamespace("MAPI")
Set fld = ns.GetDefaultFolder(olFolderInbox)
fld.Display
Range("A1").Select
For i = 1 To fld.Items.Count
Set itm = fld.Items(i)
ActiveCell.Value = itm.Subject
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = itm.SenderName
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = itm.ReceivedTime
ActiveCell.Offset(1, -2).Activate
Next i
Range("A:C").Columns.AutoFit
ol.Quit
Set ol = Nothing
End Sub
PS : la prochaine fois pose la question dans le corps du message, pas
dans la signature ;-)
Outils => Références => cocher Microsoft Oulook xx.0 Object Library
Private Sub ListeMail() Dim ol As Outlook.Application Dim ns As Outlook.NameSpace Dim fld As Outlook.MAPIFolder Dim itm As Outlook.MailItem Dim i As Integer
On Error Resume Next Set ol = GetObject(, "Outlook.Application") If Err.Number = 429 Then Set ol = CreateObject("Outlook.Application") End If On Error GoTo 0 Set ns = ol.GetNamespace("MAPI") Set fld = ns.GetDefaultFolder(olFolderInbox) fld.Display Range("A1").Select For i = 1 To fld.Items.Count Set itm = fld.Items(i) ActiveCell.Value = itm.Subject ActiveCell.Offset(0, 1).Activate ActiveCell.Value = itm.SenderName ActiveCell.Offset(0, 1).Activate ActiveCell.Value = itm.ReceivedTime ActiveCell.Offset(1, -2).Activate Next i Range("A:C").Columns.AutoFit ol.Quit Set ol = Nothing End Sub
PS : la prochaine fois pose la question dans le corps du message, pas dans la signature ;-)
-- Cordialement,
Jacques.
R2D2
C'est géant, merci Jacques
J'ai pas tout compris du code, mais je vais l'étudier Par contre, est il possible de "passer" l'alerte qui nous averti la consultation de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom d'un sous dossier dans "dossier personnel", de lire que ce sous répertoire
Merci à toi
Excelement Votre ... Eric ... ----------------------------- " Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
C'est géant, merci Jacques
J'ai pas tout compris du code, mais je vais l'étudier
Par contre, est il possible de "passer" l'alerte qui nous averti la
consultation
de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom
d'un sous dossier dans "dossier personnel", de lire que
ce sous répertoire
Merci à toi
Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
J'ai pas tout compris du code, mais je vais l'étudier Par contre, est il possible de "passer" l'alerte qui nous averti la consultation de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom d'un sous dossier dans "dossier personnel", de lire que ce sous répertoire
Merci à toi
Excelement Votre ... Eric ... ----------------------------- " Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
pour des raisons de sécurité. Je crois qu'il y a des trucs du côté de Microsoft Exchange. Tu devrais peut être reposter pour ces questions sur
microsoft.public.fr.outlook
C'est géant, merci Jacques
J'ai pas tout compris du code, mais je vais l'étudier Par contre, est il possible de "passer" l'alerte qui nous averti la consultation de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom d'un sous dossier dans "dossier personnel", de lire que ce sous répertoire
Merci à toi
Excelement Votre ... Eric ... ----------------------------- " Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
pour des raisons de sécurité. Je crois qu'il y a des trucs du côté de
Microsoft Exchange. Tu devrais peut être reposter pour ces questions sur
microsoft.public.fr.outlook
C'est géant, merci Jacques
J'ai pas tout compris du code, mais je vais l'étudier
Par contre, est il possible de "passer" l'alerte qui nous averti la
consultation
de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom
d'un sous dossier dans "dossier personnel", de lire que
ce sous répertoire
Merci à toi
Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
pour des raisons de sécurité. Je crois qu'il y a des trucs du côté de Microsoft Exchange. Tu devrais peut être reposter pour ces questions sur
microsoft.public.fr.outlook
C'est géant, merci Jacques
J'ai pas tout compris du code, mais je vais l'étudier Par contre, est il possible de "passer" l'alerte qui nous averti la consultation de la boîte de réception ? De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Si on complique ... Est il possible, lorsque l'on connaît le nom d'un sous dossier dans "dossier personnel", de lire que ce sous répertoire
Merci à toi
Excelement Votre ... Eric ... ----------------------------- " Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "
-- Cordialement,
Jacques.
Jacques93
Bonjour R2D2,
[...]
De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Quelle erreur ?
Si on complique ... Est il possible, lorsque l'on connaît le nom d'un sous dossier dans "dossier personnel", de lire que ce sous répertoire
Si "TonDossier" se trouve dans la boite de réception :
Set fld = ns.GetDefaultFolder(olFolderInbox) Set fld = fld.Folders("TonDossier")
-- Cordialement,
Jacques.
Bonjour R2D2,
[...]
De plus la macro se plante apparement à la ligne
Set itm = fld.Items(i)
Quelle erreur ?
Si on complique ... Est il possible, lorsque l'on connaît le nom
d'un sous dossier dans "dossier personnel", de lire que
ce sous répertoire
Si "TonDossier" se trouve dans la boite de réception :
Set fld = ns.GetDefaultFolder(olFolderInbox)
Set fld = fld.Folders("TonDossier")