Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Envoi mail via VBA et Outlook

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

treza88

XLDnaute Occasionnel
Bonjour à tous,

Sujet déjà évoqué dans différent post, mais je n'arrive pas a un résultat qui fonctionne même après une multitude d'essais.

Mon image dans le corps du mail n'apparait une fois le mail envoyé et j'ai deux comte de messagerie dans ma session Outlook, mais je n'arrive pas à envoyer un mail avec le deuxième compte

Voici mon code :

VB:
Sub envoieMail()

Dim OutApp As Object
Dim OutMail As Object
Dim oAccount As Outlook.Account
Dim OutAccount As Object
Dim Chemin$, NomImage$
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.createitem(olMailItem)
Set OutAccount = OutApp.Session.Accounts.Item(2)

Chemin = "C:\Users\MOI\Downloads\img.png"
NomImage = Mid(Chemin, InStrRev(Chemin, "\") + 1) 'nom du fichier image sans le chemin complet

With OutMail
    .SendUsingAccount = OutAccount
    .to = "mail2@domaine.com" 'mailDestinataire
    '.cc = "mail@domaine.com"
    '.bcc = Worksheets("Feuil2").Range("E1")
    .Subject = "Planning du jeudi"
    '.body = Worksheets("Feuil2").Range("H1")
    .HTMLBody = "<body>Hello, " & "<br><br>" & _
                  ThisWorkbook.Sheets("Feuil2").Range("H1") & "<br>" & _
                  "Texte du corp du mail." & "<br><br>" & _
                  "<img src='" & NomImage & "' & width='700' height='600'><br><br>" & _
                  "**[Ce message a été généré automatiquement]**</body>"
    .send
End With

Set OutMail = Nothing
Set OutApp = Nothing
    

End Sub

Merci pour toute aide pour me guider.
 
Solution
je crois me souvenir qu'il faut utiliser le sendusing
un truc du genre
VB:
Sub méméle()
    Dim olApp As Object
    Dim mail As Object
    Dim acc As Object
    Dim monimage$, nomimg$
    monimage = "c:\mondossier\mikeydonaldetmoi.jpeg"
    nomimg = Mid(monimage, InStrRev(monimage, "\") + 1)
     Set olApp = CreateObject("Outlook.Application")
    Set mail = olApp.CreateItem(0)
    Set mail.SendUsingAccount = olApp.Session.Accounts.Item(2)
         

    With mail
        .To = "lautre@youméméle.com"
        .Subject = "une image forte pour toi et que tu fasse des cauchemars"
        .Attachments.Add monimage
        .HTMLBody = "blablabla <img src=""" & nomimg & """><br> blablabla<br> En vous souhaitant bonne reception dans la...
Merci Patricktoulon,

Forcément je comprend mieux.
Par contre pour envoyer le mail avec le deuxième compte Outlook, tu à une idée, car j'ai beau mettre su la ligne ci dessous 1 ou 2, aucune différence :

VB:
Set OutAccount = OutApp.Session.Accounts.Item(2)
 
je crois me souvenir qu'il faut utiliser le sendusing
un truc du genre
VB:
Sub méméle()
    Dim olApp As Object
    Dim mail As Object
    Dim acc As Object
    Dim monimage$, nomimg$
    monimage = "c:\mondossier\mikeydonaldetmoi.jpeg"
    nomimg = Mid(monimage, InStrRev(monimage, "\") + 1)
     Set olApp = CreateObject("Outlook.Application")
    Set mail = olApp.CreateItem(0)
    Set mail.SendUsingAccount = olApp.Session.Accounts.Item(2)
         

    With mail
        .To = "lautre@youméméle.com"
        .Subject = "une image forte pour toi et que tu fasse des cauchemars"
        .Attachments.Add monimage
        .HTMLBody = "blablabla <img src=""" & nomimg & """><br> blablabla<br> En vous souhaitant bonne reception dans la tronche"
        .Send
    End With
End Sub
 
Une petite dernière question, sais tu si il es possible de forcer un nouvel alias pour le compte Outlook et de remettre l'alias d'origine après avoir envoyer le mail ?

En espérant que j'ai été clair dans mes explications.
 
- 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
6
Affichages
894
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
558
Réponses
17
Affichages
2 K
Réponses
2
Affichages
972
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
965
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…