OVH Cloud OVH Cloud

Excel & Microsoft OUTLOOK

4 réponses
Avatar
R2D2
--
Bonjour à Toutes & Tous,

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 "

4 réponses

Avatar
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.
Avatar
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 "


Avatar
Jacques93
Bonsoir R2D2,

Passer l'alerte ne semble pas être simple :

http://office.microsoft.com/fr-fr/assistance/HA011127891036.aspx

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.



Avatar
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.