Executer macro à l'arrivée d'un mail

roidurif

XLDnaute Occasionnel
Bonjour,

Dans mon outlook, j'ai accès à deux Boites aux lettres par une seule connexion.

Pour executer une macro à l'arriver d'un mail sur la 1ere boite à mon NOM, J'arrive bien.

Par contre, si je veux qu'elle s'excute à la deuxieme BAL uniquement, je n' y arrive pas.

Je me dirige vers vous, pour m'aider à corriger ce code svp et trouver ce que j'ai fait de pas bon.

Merci de votre aide



Voici mon code VBA :

Code:
Dim WithEvents colMAILItems As Items
 
Private Sub Application_Startup()
    Dim myolApp As Outlook.Application
    Dim MyNameSpace As Outlook.NameSpace
    Dim myRecipient As Outlook.Recipient
    Dim myFolder As Outlook.MAPIFolder
 

    Set myolApp = CreateObject("Outlook.Application")
    Set MyNameSpace = myolApp.GetNamespace("MAPI")
    
 
'soit cela connexion est permanente
    Set myFolder = MyNameSpace.Folders("Boîte aux lettres - service CLIENTS").Folders("Boîte de réception")
 
'soit cela
'    Set myRecipient = myNameSpace.CreateRecipient("Boîte aux lettres - service CLIENTS")
 
'    myRecipient.Resolve
'    If myRecipient.Resolved Then
'        Set myFolder = myNameSpace.GetSharedDefaultFolder(myRecipient, olFolderInbox)
'    End If

    Set colMAILItems = myFolder.Items
End Sub
 
Private Sub colMAILItems_ItemAdd(ByVal Item As Object)

    'Déclarations
    Dim MonApp As Outlook.Application
    Dim MonMail As Object
    Dim LeMail As Outlook.MailItem
    Dim MyNameSpace As Outlook.NameSpace
    Dim MonDossier As Outlook.Folder
    
    
 '   'Instance des objets
    Set MonApp = Outlook.Application
    Set MyNameSpace = MonApp.GetNamespace("MAPI")
    Set MonDossier = MyNameSpace.Folders("Boîte aux lettres - service CLIENTS").Folders("Boîte de réception")
    Set MonMail = Application.Session.GetItemFromID(EntryIDCollection)

        'Test si l'expéditeur correspond dans ce cas :
        If LeMail.SenderEmailAddress = "adresse@gmail.com" Then
        Set LeMail = LeMail.Reply
        Set LeMail = Application.CreateItemFromTemplate("C:\Users\Doc\AppData\Roaming\Microsoft\Templates\Confirmation mail.oft")
        LeMail.Subject = "Confirmation de votre mail" & vbCrLf '& LeMail
        LeMail.To = MonMail.SenderEmailAddress
        LeMail.Send
         
        'MonMail.Move MonDossier.Folders("Traiter")
        End If
        
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 756
Membres
101 812
dernier inscrit
trufu