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