OVH Cloud OVH Cloud

Gestion d'Outlook par EXCEL

4 réponses
Avatar
R2D2
Bonjour à Toutes et Tous


Voilà, je sais pas faire, aussi j'appelle à l'aide !

Dans un sous-dossier de la boîte de réception de microsoft outlook arrivent
des mails avec des mots clés facilement identifiables

Comment faire en fin de journée, à l'aide de VBA dans excel pour obtenir par
exemple
une ligne par mail reçu (du sous-dossier) avec
Colonne A : l'objet du mail
Colonne B : le champ "De:" (l'expéditeur)
Colonne C : le texte du mail
Colonne D : la date de réception
Colonne E : l'heure de réception

Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "

4 réponses

Avatar
papou
Bonjour
Tout cela est faisable !
Mais selon moi il s'agit là d'une programmation qui nécessite un minimum
d'apprentissage.
Pour t'aider sans te fournir un "paquet tout fait", (et donc plus dans une
humble démarche pédagogique ), je te conseille les manipulations suivantes
:
Créer un module standard
Ajouter au projet VBA de ton classeur la référence à "Microsoft Outlook 11.0
Object Library" (ou autre numéro de version)
Déclarer une variable de l'application Outlook :
Dim objOutlk As Outlook.Application
Set ObjOutlk = New Outlook.Application
(tu peux également utilser la méthode GetObject ou CreateObject)
Dès lors, tu auras accès aux méthodes, fonctions et propriétés d'Outlook
Ensuite il te faudra aller chercher de l'aide sur la façon d'utiliser
notamment les objets Explorer et Namespace d'Outlook, afin de te permettre
la navigation dans les éléments de l'application Outlook.

Bon courage et bon apprentissage !

Cordialement
Pascal


"R2D2" a écrit dans le message de news:


Bonjour à Toutes et Tous


Voilà, je sais pas faire, aussi j'appelle à l'aide !

Dans un sous-dossier de la boîte de réception de microsoft outlook
arrivent
des mails avec des mots clés facilement identifiables

Comment faire en fin de journée, à l'aide de VBA dans excel pour obtenir
par
exemple
une ligne par mail reçu (du sous-dossier) avec
Colonne A : l'objet du mail
Colonne B : le champ "De:" (l'expéditeur)
Colonne C : le texte du mail
Colonne D : la date de réception
Colonne E : l'heure de réception

Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "


Avatar
R2D2
Avant tout merci papou !
Je pense y être presque, par contre je n'arrive pas à lui indiquer le sous
dossier
où prendre les mails ... Par défaut il me prend la "boîte de réception"
Merci de m'indiquer des piste de solutions

******** VOICI LE CODE
Sub ListeMail()

Dim ol As New 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) '''' Je pense que cele vient
de là
fld.Display

Range("A1").Select
For i = 1 To fld.Items.Count
'Set itm = fld.Items(i)
ActiveCell.Value = fld.Items(i).Subject
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).SenderName
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).ReceivedTime
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).Body
ActiveCell.Offset(1, -3).Activate
Next i
Range("A:D").Columns.AutoFit


End Sub
*************************************
Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "




Bonjour à Toutes et Tous


Voilà, je sais pas faire, aussi j'appelle à l'aide !

Dans un sous-dossier de la boîte de réception de microsoft outlook arrivent
des mails avec des mots clés facilement identifiables

Comment faire en fin de journée, à l'aide de VBA dans excel pour obtenir par
exemple
une ligne par mail reçu (du sous-dossier) avec
Colonne A : l'objet du mail
Colonne B : le champ "De:" (l'expéditeur)
Colonne C : le texte du mail
Colonne D : la date de réception
Colonne E : l'heure de réception

Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "


Avatar
papou
Bonjour
Effectivement si le dossier à atteindre n'est pas un dossier "racine", tu ne
pourras pas utiliser la méthode GetDefalutFolder.
Dans ton cas, tu peux utiliser la méthode PickFolder qui te permettra
d'aller sélectionner le dossier souhaité dans l'arborescence d'Outook.
Donc adapté à ton code :

Set fld = ns.PickFolder

Cordialement
Pascal

"R2D2" a écrit dans le message de news:


Avant tout merci papou !
Je pense y être presque, par contre je n'arrive pas à lui indiquer le sous
dossier
où prendre les mails ... Par défaut il me prend la "boîte de réception"
Merci de m'indiquer des piste de solutions

******** VOICI LE CODE
Sub ListeMail()

Dim ol As New 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) '''' Je pense que cele vient
de là
fld.Display

Range("A1").Select
For i = 1 To fld.Items.Count
'Set itm = fld.Items(i)
ActiveCell.Value = fld.Items(i).Subject
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).SenderName
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).ReceivedTime
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = fld.Items(i).Body
ActiveCell.Offset(1, -3).Activate
Next i
Range("A:D").Columns.AutoFit


End Sub
*************************************
Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "




Bonjour à Toutes et Tous


Voilà, je sais pas faire, aussi j'appelle à l'aide !

Dans un sous-dossier de la boîte de réception de microsoft outlook
arrivent
des mails avec des mots clés facilement identifiables

Comment faire en fin de journée, à l'aide de VBA dans excel pour obtenir
par
exemple
une ligne par mail reçu (du sous-dossier) avec
Colonne A : l'objet du mail
Colonne B : le champ "De:" (l'expéditeur)
Colonne C : le texte du mail
Colonne D : la date de réception
Colonne E : l'heure de réception

Merci à Vous

Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination
"




Avatar
R2D2
Papou ... UN GRAND MERCI !!!


Excelement Votre
... Eric ...
-----------------------------
" Ce monde qui s'ouvre à nous, n'aura pour limite, que notre imagination "