Bonjour à tous,

J'utilise une macro Excel pour faire du mailing sur VBA. Trois adresses mail sont synchronisés sur mon Outlook. Je voudrais que l'adresse utilisée pour expédier les e-mails soit l'adresse n°3. Malheureusement quand je créé un nouvel objet mail via excel, l'expéditeur est par défaut mon adresse n°1 et je n'arrive pas à changer cet expéditeur via VBA.

J'ai essayé en utilisant les fonctions :
.SentOnBehalfOfName
.SendUsingAccount

Dans le premier cas, quand mon client reçoit l'email, le nom d'expéditeur affiché est bien mon adresse n°3, mais malgré tout l'email a été envoyé via l'adresse n°1. Par contre si mon client répond, l'email sera bien envoyé à mon adresse n°3.
Dans le second cas (.SendUsingAccount), le code s'execute, mais rien ne se passe, l'adresse expéditeur reste mon adresse n°3.

J'ai fait beaucoup de recherche, mais je n'ai rien trouvé, sauriez vous comment résoudre ce problème?

Voici le code que j'utilise :

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
16
17
18
19
20
21
22
23
24
25
26
27
28
    'création de l'email
    Dim Messagerie As Variant
    Set Messagerie = CreateObject("Outlook.Application")
    Set olNS = Messagerie.GetNamespace("MAPI")
    Set LeMail = Messagerie.CreateItem(oMailItem)
 
    LeMail.Display
    Signature = LeMail.htmlbody
 
    ' je créé 3 variables auxquelles j'attribue mes comptes, pour vérifier lors de l'exécution pas à pas que ces comptes existent et que ce sont les bons.
    compte1 = olNS.Accounts.Item(1)
    compte2 = olNS.Accounts.Item(2)
    compte3 = olNS.Accounts.Item(3)
 
 
    With LeMail
            '.SentOnBehalfOfName = "********@******.fr"
            .To = Email
            .Subject = Objet
            .Attachments.Add Personalized_File_Name
            .htmlbody = Message & Signature
            .Display
            .SendUsingAccount = olNS.Accounts.Item(3)
            .Display
            .DeferredDeliveryTime = Now + TimeSerial(0, (i - 2) * 12 + 3, 0)
            .Display
            '.Send
        End With
Je vous remercie d'avance, toute aide serait grandement appréciée.

ps : Je suis sur Microsoft Office professionnel 2016.