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

  • Initiateur de la discussion Initiateur de la discussion roidurif
  • 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 !

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
 
- 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

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
1
Affichages
991
Retour