Envoi depuis un autre compte Outlook depuis Macro Excel

Bonjour à tous !

J'ai récupéré il y a quelques temps un fichier contenant une macro (que vous trouverez ci-joint, bien entendu) qui permet d'envoyer un mail unique avec des pièces jointes distinctes à un nombre important de client en passant par Outlook.

La macro fonctionne très bien et j'ai même pu l'adapter un petit peu (avec mes maigres connaissances) pour l'ajuster à mon besoin.

Cependant, j'ai remarqué que lors de l'édition du mail c'est l'adresse de celui qui lance la macro qui s'affiche en expéditeur... Et j'aimerai que ça ne soit pas le cas. Nous avons tous au travail, une boite secondaire avec une adresse générique et j'aimerais que le mail parte de celle-là.

J'ai tenté de rajouter la fonction .SentOnBehalfOfName mais même si il mentionne l'adresse générique, l'adresse de l'expéditeur apparait quand même.

Du coup j'ai bien tenté de regarder sur le net et je pense que la solution se trouve dans l'utilisation de oAccount mais je dois mal déclarer les variables ou je ne sais pas mais à chaque fois j'ai un message d'erreur sur la partie suivante :

Sub SendOutlookMail(ByVal subject As String, _
                    ByVal From As String, ByVal Recipient As String, ByVal ccRecipient As String, ByVal bccRecipient As String, _
                    ByVal BodyText As String, ByVal Attachment As String, ByVal expediteur As String, Optional ByVal Attachment2 As String = "", Optional ByVal BodyIsHTML As Boolean = False)

Bref, si quelqu'un a une solution à m'apporter, j'en serais ravi ^^

D'avance merci.

Ropper.

Bonjour Ropperlimp,

Je suis très loin d'être un maître du VBA... mais essaye de changer la ligne suivante :

.Sender = expediteur

par :

.Sender = Range("B6").Value

Je ne peux pas tester moi-même.

Bonjour à tous les deux et tout d'abord merci pour vos retours, c'est très appréciable.

@joept69 : c'est effectivement une bonne idée, je n'y avait pas pensé ! mais malheureusement, l'envoi s'est fait avec mon adresse même si l'adresse dans B6 était différente..

@eriiic : j'avais déjà pu aller sur la doc de mailitem pour chercher des solutions mais j'avoue que quand on y connait pas grand chose, ça peut vite devenir velu ^^
Surtout quand dans le code j'ai déjà une fonction qui permet de choisir une adresse à laquelle envoyer un mail quand l'utilisateur fera "répondre".
Du coup, si tu peux m'en dire plus sur cette méthode et comment tu penses pouvoir l'utiliser dans mon projet, je suis preneur !

L'idée ici est vraiment d'utiliser une adresse mail différente de la mienne mais dont j'ai les autorisations dans Outlook.

Je continue de chercher ;)

Bonjour,

tu mets dans cette propriété les adresses où tu veux que les correspondants répondent, qq soit l'adresse d'envoi c'est celle(s)-ci qui sera utilisée.
eric

Bonjour,

C'est effectivement déjà le cas dans ma macro :

       If From <> "" Then .ReplyRecipients.Add (From)

Et ça marche plutôt bien car les gens répondent souvent avec le bouton "répondre" prévu àcet effet ^^ et je peux traiter les réponses sur la bonne adresse.

Mais ce n'est pas le cas de tout mes clients et certains reprennent l'adresse de l'expéditeur (la mienne) et me renvoient des mails directement. C'est problématique car quand je suis absent ou en déplacement, je ne peux pas traiter les réponses. Ici l'idée serait de ne pas faire apparaitre du tout mon adresse lors de l'envoi.

Quand je crée un nouveau mail, j'ai le choix d'utiliser mon adresse perso mais aussi une boite réservée à mon entité. J'aimerai que ce soit celle-ci qui s'utilise.

J'ai bien pensé à rajouter dans...

With objMail
        .To = Recipient
        .CC = ccRecipient
        .BCC = bccRecipient
        .subject = subject
        If BodyIsHTML Then
            .HTMLBody = BodyText
           Else
            .Body = BodyText
        End If
        If Attachment <> "" Then .Attachments.Add Attachment
        If Attachment2 <> "" Then .Attachments.Add Attachment2
        If From <> "" Then .ReplyRecipients.Add (From) '.SentOnBehalfOfName = From
    End With

... un

.Sender = Range("from")

mais comme .Sender fait appel à un objet AddressEntry, il faut que je le définisse avant ici

Sub SendOutlookMail(ByVal subject As String, _
                    ByVal From As String, ByVal Recipient As String, ByVal ccRecipient As String, ByVal bccRecipient As String, _
                    ByVal BodyText As String, ByVal Attachment As String, Optional ByVal Attachment2 As String = "", Optional ByVal BodyIsHTML As Boolean = False)

sauf que "As Outlook.AddressEntry" ne semble pas plaire à Excel..

Et je sèche un peu ^^

Dans un mail tu as aussi ReplyTo qui remplace ton adresse par celle indiquée.
Seulement je ne l'ai pas trouvé dans les propriétés de ton objet, à moins que ce ne soit ReplyRecipients ici (?)
Des fois que ça te donne une piste de recherche...
eric

Rechercher des sujets similaires à "envoi compte outlook macro"