Outlook2003 --> Excel

Le
jb1
Bonsoir,

Je souhaiterai que une liste de mails arrivées (outlook2003) et sélectionnés
soient
enregistrés dans un fichier excel en colonnes différentes pour l'expediteur,
les destinataires, les destinataires copie, l'objet, le corps.

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5026401
Bonsoir.
La macro Outlook suivante traite les messages sélectionnés :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation, "Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 1
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 1
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
i = 1
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

la macro appelée dans Excel se trouve dan un classeur appelé ici test.xls et
doit être fermé au début de l'exécution de la macro Outlook :

Sub macro(ReceivedTime, SenderEmailAddress, Subject, Body, _
Attaches, Destis, tabCC)
MsgBox ReceivedTime
MsgBox SenderEmailAddress
MsgBox Subject
MsgBox Body
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Item
Next Item
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Destis
Next Item
MsgBox tabCC
End Sub

Tu disposeras les champs comme tu le souhaites sur ta feuille. "Destis" et
"Attaches" représentent respectivement les destinataires et les pièces
jointes. Par contre, les destis de copies sont dans une chaine (tabCC). Il
manque beaucooup de champ. Tu trouveras les propriétés du message en
cherchant l'aide sur le mot "mailitem".
Cordialement.
Daniel
"jb1" Ot2Zi.147$
Bonsoir,

Je souhaiterai que une liste de mails arrivées (outlook2003) et
sélectionnés soient
enregistrés dans un fichier excel en colonnes différentes pour
l'expediteur,
les destinataires, les destinataires copie, l'objet, le corps.

Merci de votre aide




jb1
Le #5026031
Bonjour et
Merci beaucoup
Le texte arrive bien dans des message box, mais ne se colle pas dans les
colonnes
Que dois je faire ???

"Daniel.C"
Bonsoir.
La macro Outlook suivante traite les messages sélectionnés :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation, "Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 1
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 1
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
i = 1
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

la macro appelée dans Excel se trouve dan un classeur appelé ici test.xls
et doit être fermé au début de l'exécution de la macro Outlook :

Sub macro(ReceivedTime, SenderEmailAddress, Subject, Body, _
Attaches, Destis, tabCC)
MsgBox ReceivedTime
MsgBox SenderEmailAddress
MsgBox Subject
MsgBox Body
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Item
Next Item
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Destis
Next Item
MsgBox tabCC
End Sub

Tu disposeras les champs comme tu le souhaites sur ta feuille. "Destis" et
"Attaches" représentent respectivement les destinataires et les pièces
jointes. Par contre, les destis de copies sont dans une chaine (tabCC). Il
manque beaucooup de champ. Tu trouveras les propriétés du message en
cherchant l'aide sur le mot "mailitem".
Cordialement.
Daniel
"jb1" Ot2Zi.147$
Bonsoir,

Je souhaiterai que une liste de mails arrivées (outlook2003) et
sélectionnés soient
enregistrés dans un fichier excel en colonnes différentes pour
l'expediteur,
les destinataires, les destinataires copie, l'objet, le corps.

Merci de votre aide








Daniel.C
Le #5025771
Bonjour.
J'ai mi ce système de Msgbox parce que je ne savais pas comment tu voulais
disposer les infos. Regarde un exemple :
http://cjoint.com/?lkpREfKyDP
J'ai aussi modifié la macro Outlook (une erreur avec les destinataires) :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation, "Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 0
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 0
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

Daniel
"jb1" 473588bc$1$31487$
Bonjour et
Merci beaucoup
Le texte arrive bien dans des message box, mais ne se colle pas dans les
colonnes
Que dois je faire ???

"Daniel.C"
Bonsoir.
La macro Outlook suivante traite les messages sélectionnés :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation, "Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 1
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 1
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
i = 1
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

la macro appelée dans Excel se trouve dan un classeur appelé ici test.xls
et doit être fermé au début de l'exécution de la macro Outlook :

Sub macro(ReceivedTime, SenderEmailAddress, Subject, Body, _
Attaches, Destis, tabCC)
MsgBox ReceivedTime
MsgBox SenderEmailAddress
MsgBox Subject
MsgBox Body
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Item
Next Item
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Destis
Next Item
MsgBox tabCC
End Sub

Tu disposeras les champs comme tu le souhaites sur ta feuille. "Destis"
et "Attaches" représentent respectivement les destinataires et les pièces
jointes. Par contre, les destis de copies sont dans une chaine (tabCC).
Il manque beaucooup de champ. Tu trouveras les propriétés du message en
cherchant l'aide sur le mot "mailitem".
Cordialement.
Daniel
"jb1" Ot2Zi.147$
Bonsoir,

Je souhaiterai que une liste de mails arrivées (outlook2003) et
sélectionnés soient
enregistrés dans un fichier excel en colonnes différentes pour
l'expediteur,
les destinataires, les destinataires copie, l'objet, le corps.

Merci de votre aide












jb1
Le #5025691
SUPER
Merci

"Daniel.C" %
Bonjour.
J'ai mi ce système de Msgbox parce que je ne savais pas comment tu voulais
disposer les infos. Regarde un exemple :
http://cjoint.com/?lkpREfKyDP
J'ai aussi modifié la macro Outlook (une erreur avec les destinataires) :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation, "Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 0
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 0
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

Daniel
"jb1" 473588bc$1$31487$
Bonjour et
Merci beaucoup
Le texte arrive bien dans des message box, mais ne se colle pas dans les
colonnes
Que dois je faire ???

"Daniel.C"
Bonsoir.
La macro Outlook suivante traite les messages sélectionnés :

Sub CopieExcel()
Dim OutlookApp As New Outlook.Application
Dim OutlookExp As Outlook.Explorer
Dim OutlookSélex As Outlook.Selection
Dim tabCC As String, Attaches(100), Destis(100)
Set xlobj = GetObject(, "Excel.Application")
xlobj.Visible = True
xlobj.workbooks.Open "E:donneesdanielmpfetest.xls"
Set OutlookApp = Outlook.Application
Set OutlookExp = OutlookApp.ActiveExplorer
Set OutlookSélex = OutlookExp.Selection
If OutlookSélex.Count < 1 Then
MsgBox "Aucun message n'est sélectionné.", vbExclamation,
"Erreur"
Exit Sub
End If
For x = 1 To OutlookSélex.Count
DoEvents
Zone = OutlookSélex.Item(x).ReceivedTime
tablo = Split(Zone)
tabdat = Split(tablo(0), "/")
tabheure = Split(tablo(1), ":")
With OutlookSélex.Item(x)
i = 1
For Each att In OutlookSélex.Item(x).Attachments
Attaches(i) = att
i = i + 1
Next att
i = 1
For Each att In OutlookSélex.Item(x).Recipients
Destis(i) = att
i = i + 1
Next att
i = 1
tabCC = OutlookSélex.Item(x).CC
xlobj.Run "Macro", .ReceivedTime, .SenderEmailAddress, .Subject,
.Body, _
Attaches, Destis, tabCC
End With
For i = 1 To 100
Attaches(i) = ""
Destis(i) = ""
Next i
Next x
Erreur:
Set xlobj = Nothing
End Sub

la macro appelée dans Excel se trouve dan un classeur appelé ici
test.xls et doit être fermé au début de l'exécution de la macro Outlook
:

Sub macro(ReceivedTime, SenderEmailAddress, Subject, Body, _
Attaches, Destis, tabCC)
MsgBox ReceivedTime
MsgBox SenderEmailAddress
MsgBox Subject
MsgBox Body
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Item
Next Item
For Each Item In Attaches
If Item = "" Then Exit For
MsgBox Destis
Next Item
MsgBox tabCC
End Sub

Tu disposeras les champs comme tu le souhaites sur ta feuille. "Destis"
et "Attaches" représentent respectivement les destinataires et les
pièces jointes. Par contre, les destis de copies sont dans une chaine
(tabCC). Il manque beaucooup de champ. Tu trouveras les propriétés du
message en cherchant l'aide sur le mot "mailitem".
Cordialement.
Daniel
"jb1" Ot2Zi.147$
Bonsoir,

Je souhaiterai que une liste de mails arrivées (outlook2003) et
sélectionnés soient
enregistrés dans un fichier excel en colonnes différentes pour
l'expediteur,
les destinataires, les destinataires copie, l'objet, le corps.

Merci de votre aide
















Publicité
Poster une réponse
Anonyme