actions VBA et outlook 2003

  • Initiateur de la discussion Initiateur de la discussion Matthieu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Matthieu

Guest
Bonjour a tous,

Je souhaiterais réaliser une petit macro VBA sous outlook 2003 qui prend tous les mail de ma boite de reception, extrait l'email du body (ce ne sont que des mail d'erreur avec dans le body l'adresse e-mail de la personne que je n'ai pas pu contacter) et les mettre dans un tableau excel...

Je cherche depuis ce matin, voila ce que j'ai pu trouver et mettre en place...
Pour l'instant, mon programme parcourt tous mes mail et copie le body dans un fichier text...

Sub test()
Const ForReading = 1, ForWriting = 2
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set oOutlook = New Outlook.Application
Set oNs = oOutlook.GetNamespace("MAPI")
Set oMainFldr = oNs.GetDefaultFolder(olFolderInbox)
MsgBox oMainFldr
'Set olFolder = objol.ActiveExplorer.CurrentFolder
'Curfolder = olFolder
Set olfolderitems = oNs.GetDefaultFolder(olFolderInbox).Items
numitems = olfolderitems.Count
MsgBox ("Il y a " & numitems & " E-Mails dans le dossier selectionné !")
Set f = fso.CreateTextFile("C:\textunique.txt", ForWriting, True)
For I = 1 To numitems
Set olmyitem = olfolderitems(I)
contenumail = olmyitem.Body
f.Write (contenumail)
Next

End Sub

Comment je peux faire pour extraire le mail du body directement dans ma macro et surtout, ouvrir un fichier excel et la copié dedans...

Merci a vous je suis ouvert a vos commentaires
 
bonsoir Matthieu

cette macro extrait les corps de messages de tous les mails de la boite de réception
les informations sont insérées dans la colonne A de la feuille active


Sub extractionCorpsMessagesMails()
'necessite d'activer la reference Microsoft Outlook xx.x Object Library
Dim OLapp As Outlook.Application
Dim OLspace As Outlook.NameSpace
Dim OLinbox As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
Dim i As Integer

Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)

For Each OLmail In OLinbox.Items
i = i + 1
Cells(i, 1) = Application.Substitute(OLmail.Body, vbCrLf, vbLf)
Next

End Sub


bonne soirée
MichelXld
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour