XL 2013 [Résolu] Afficher un mail selon valeur cellule

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum :)

J'ai un souci avec cette macro qui affiche tous les messages du dossier Messages Reçus sous Outlook.

VB:
Sub test()
Dim olApp As Object, GN As Object, Dossier As Object, _
item As Object, msg As String

    Set olApp = CreateObject("Outlook.Application")
    Set GN = olApp.GetNamespace("MAPI")
    Set Dossier = GN.Folders("toto@free.fr").Folders("Messages reçus")

    msg = Sheets(1).Range("a2").Value
    For Each item In Dossier.Items
        If item = msg Then item.Display: Exit For
    Next

End Sub

Et c'est cette ligne qui cause problème: If item = msg Then item.Display: Exit For

Comment afficher le mail suivant la valeur de msg?
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum :)

Après multi casses-tête, j'ai trouvé la solution qui était toute simple finalement.

VB:
Public olApp As Outlook.Application

Sub test()
Dim GNs As Object, Dossier As Object, Item As Object
Dim olSujet As String, msg As String, i As Long, HerrHandler

    Application.WindowState = xlMinimized

    Set olApp = New Outlook.Application
    Set GNs = olApp.GetNamespace("MAPI")
    Set Dossier = GNs.Folders("toto@free.fr").Folders("Nom du dossier")
    msg = Sheets(1).Range("a2").Text 'Liste déroulante

    For i = 1 To Dossier.Items.Count
        Set Item = Dossier.Items(i)
        'Ici Objet     exemple: votre inscription sur notre site
        If Item.Subject = msg Then Item.Display   'Oubien Item.To qui correspond à l'adresse de l'expéditeur
    Next i

    Set GNs = Nothing
    Set Dossier = Nothing
    Set Item = Nothing

    Application.OnTime Now + TimeValue("00:00:10"), "quitter"

End Sub

Sub quitter()
    olApp.Quit
    Set olApp = Nothing

    Application.WindowState = xlNormal

End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
201

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 868
dernier inscrit
JJV