Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Outlook2003 --> Excel

4 réponses
Avatar
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

4 réponses

Avatar
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" a écrit dans le message de news:
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




Avatar
jb1
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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








Avatar
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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












Avatar
jb1
SUPER
Merci

"Daniel.C" a écrit dans le message de news:
%
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" a écrit dans le message de news:
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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