XL 2010 Copie un mail via macro

Bens7

XLDnaute Impliqué
Bonjour à tous !
Voilà après plusieurs jours de recherche infructueuse je vous explique mon souhait:
Je souhaiterais un macro en étant sur Excel qui copie le dernier email (Outlook 2010) reçu de : "nomduclient@hotmail.com" présent dans ma boîte de réception (Account 1) > Dans le dossier "C://dossier/test/"

Voilà !
Merci à vous !
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Comme précédemment évoqué, je ne peux pas tester car sur ce PC, je n'ai pas Outlook.

En désespoir de cause, un dernier test
VB:
Sub test4()
With CreateObject("Outlook.Application").CreateItem(0)
    .To = "tonadresse@mail.fr" 'mettre ici ton vrai mail
    .Subject = "Test Objet"
    .Body = "Ceci est un test"
    '.Send
    .Display
End With
End Sub

Normalement cette macro doit t'envoyer un mail à toi-même
(code à mettre dans Excel, et comme dit précédemment Outlook doit être ouvert)
 

Staple1600

XLDnaute Barbatruc
Re

Je te rappelle que seul toi peut tester pour le moment
Avec cette modif, ca donne quoi?
VB:
Sub Test5()
Dim olApp As Outlook.Application
Dim olNs As Outlook.Namespace
Dim olFld As Outlook.MAPIFolder
Dim oAccount As Outlook.Account
Dim objMail As Object

Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFld = olNs.GetDefaultFolder(olFolderInbox)
Set oAccount = olApp.Session.Accounts("tonmail@mail.com") 'mettre le mail du compte concerné
'olFld.Items.Sort "Received", False
olFld.Items.Sort "Reçu", False
Set objMail = olFld.Items.GetLast ' Outlook 2010

If TypeName(objMail) Is "MailItem" Then
' mettre une adresse mail réelle
    If objMail.SenderEmailAddress = "toto@titi.fr" Then
    ' suite code VBA
    'ici ligne pour test
    MsgBox objMail.Subject
    End If
End If
Set objMail = Nothing
Set olFld = Nothing
Set olNs = Nothing
Set olApp = Nothing
End Sub
 

Bens7

XLDnaute Impliqué
Re

Et en faisant ce que j'indiquais dans le message#37?


PS:Au fait de ton côté; tu cogites sur quoi, tu fais quelles recherches, quels tests?
Parce que d'ici, ça donne l'impression que tu attends sans chercher de ton côté...
esserai demain
PS: Je t'avais dit novice
.. tous ce que tu m'a envoyé je n'y comprend rien ... a part 2,3 notion par exemple ne pourrais.modifier le macro pour envoyer un email mais sur une page blanche je ne pourrais pas l'écrire seul....
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

J'ai pu tester mon code VBA au boulot
Et cela fonctionne (pour ce qui est du test)
Voir ci-dessous la version de la macro utilisée pour le test
VB:
Sub Test6() 'test OK
Dim olApp As Outlook.Application
Dim olNs As Outlook.Namespace
Dim olFld As Outlook.MAPIFolder
Dim oAccount As Outlook.Account
Dim objMail As Outlook.MailItem
Dim Test As String, ChoixCompte
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set olFld = olNs.GetDefaultFolder(olFolderInbox)
'mettre le mail du compte concerné
ChoixCompte = InputBox("Saisir le mail du compte concerné", "Choix du Compte Outlook")
Set oAccount = olApp.Session.Accounts(ChoixCompte)
olFld.Items.Sort "Reçu", False
Set objMail = olFld.Items.GetLast ' Outlook 2010
If TypeOf objMail Is MailItem Then
' mettre nom prénom tel que renseigné dans les Contacts Outlook
If objMail.SenderName = "NOM PRENOM" Then
Test = objMail.SenderName & vbCrLf & objMail.SenderEmailAddress & vbCrLf & objMail.Subject
MsgBox Test
'Si utilisation d'EXCHANGE, alors n'affiche pas l'adresse mail mais le "nom" EXCHANGE
End If
End If
Set objMail = Nothing
Set olFld = Nothing
Set olNs = Nothing
Set olApp = Nothing
End Sub

[avis personnel]
Un xldnaute inscrit depuis 2009 ne peut être considéré, à mes yeux, comme un novice ;)
On a tous ce qu'il faut sur le web (francophone et anglophone) pour progresser avec Excel et VBA en huit ans ;)
[/avis personnel]
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83