1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2017
    Messages : 3
    Points : 4
    Points
    4

    Par défaut Détetction de changement de destinataire d'un mail outlook dans EXCEL

    Bonjour;

    J'essaie de détecter l'écriture d'un destinataire dans un mail actif sous Outlook depuis Excel.

    Set NewMail = MonOutlook.ActiveInspector.CurrentItem
    With NewMail
    If PropertyChange.To Then
    test = True
    End If
    End With
    MonMessage.display

    J'arrive à récupérer le mail actif d'Outlook mais je ne parviens pas à détecter l'évènement d'écriture dans le destinataire.
    Si vous avez des pistes sur les variables à utiliser ou les évènements qui permettent de détecter sa.

    Ps: Je débute en VBA sur Outlook j'ai essayé d'utiliser PropertyChange (To) mais cela ne marche pas non plus, je ne comprends pas très bien comme utiliser cette fonction.

    Cordialement

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    mars 2006
    Messages
    3 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : mars 2006
    Messages : 3 373
    Points : 5 876
    Points
    5 876
    Billets dans le blog
    16

    Par défaut

    Bonsoir,
    quel est ton but final ?

    Tu ne peux pas faire comme si c'était une propriété, l'utilisation des événements requiert une variable spéciale qui gère les éventements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Private WithEvents m_Mail As Outlook.MailItem
    si tu veux l'utiliser à partir de EXCEL c'est un peu plus compliqué il faut déclarer cette variable soit dans un formulaire soit dans ThisoutlookSession soit dans un module de classe.


    une fois que tu as associé ta variable à ton Email, tu dois attendre le déclenchement de l'événement que tu auras au préalable paramétré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private WithEvents m_Mail As Outlook.MailItem
    Sub initialisation()
    Set MonOutlook = CreateObject("outlook.application")
     
    Set m_Mail = MonOutlook.ActiveInspector.CurrentItem
    End Sub
     
     
    Private Sub m_Mail_PropertyChange(ByVal Name As String)
    Debug.Print Name
     
    If Name = "To" Then
    MsgBox "changement de destinataire"
    End If
    End Sub
    par contre comme le code est dans Excel, tu ne verras pas la fenetre au premier plan il faut associer des fonctions de l'API windows


    comme SetForegroundWindow


    tu peux lire
    https://www.developpez.net/forums/bl...mails-outlook/

Discussions similaires

  1. [XL-2013] Détetction de changement de destinataire d'un mail outlook dans EXCEL
    Par borowelle dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/12/2017, 17h15
  2. Récupérer informations d'un mail outlook dans excel via VBA
    Par c.perraud dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2017, 10h37
  3. Récupérer les mails Outlook dans une table Access
    Par zerrokooll dans le forum VBA Access
    Réponses: 79
    Dernier message: 07/07/2009, 14h22
  4. lecture automatique de mail outlook dans access
    Par Mikke dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/05/2008, 13h23
  5. Integration E-Mail [Outlook] dans Access.
    Par Cubiland dans le forum Access
    Réponses: 3
    Dernier message: 28/09/2005, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo