Problème Envoi mail + signature par Outlook via code VBA

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

D10

XLDnaute Junior
Bonjour,

Je souhaiterais à partir d'un code VBA, envoyer un mail via Outlook. Et je veux que ce mail contienne ma signature enregistrée dans Outlook par défaut.


Voici le code:
Sub mail()

Dim OApp As Object, OMail As Object, signature As String
Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)

With OMail

.Display
.To = "someone@somedomain.com"
.Subject = "Type your email subject here"
'.Attachments.Add
signature = OMail.Body
.Body = "Add body text here" & vbNewLine & signature
'.Send

End With
Set OMail = Nothing
Set OApp = Nothing

End Sub


Mais soit j'ai la signature sans le corps du mail, soit j'ai le corps du mail mais sans la sign'

Ayant déjà cherché partout, j'en viens donc à créer un énième poste sur le sujet en espérant trouver une solution.

Merci d'avance,

😉
 
Dernière modification par un modérateur:
Re : Problème Envoi mail + signature par Outlook via code VBA

Merci beaucoup ça fonctionne.
ça me met juste mon nom et prénom.

Et si je veux être plus pointilleux, est-il possible d'avoir ma vraie signature Outlook (comme si j'envoyais un mail depuis Outlook directement) ?

Merci encore 😉
 
Re : Problème Envoi mail + signature par Outlook via code VBA

Re,

Code:
Sub mail()

Dim OApp As Object, OMail As Object, signature As String
Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)

signature = OApp.Session.CurrentUser.Address 

With OMail
.To = "someone@somedomain.com"
.Subject = "Type your email subject here"
.Body = "Add body text here" & vbNewLine & signature
'.Attachments.Add
.Display
'.Send
End With
Set OMail = Nothing
Set OApp = Nothing
End Sub
 
Re : Problème Envoi mail + signature par Outlook via code VBA

Re,

voici la macro corrigée et c'était tout bête comme tu peux le voir. Donc pour avoir l'adresse email, il faut avoir Outlook ouvert.

Code:
Sub mail()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Dim corps, signature

Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(olMailItem)

corps = "Good Morning, " & vbCrLf _
 & vbCrLf & "Add body text here" & vbCrLf _
 & vbCrLf & vbCrLf

With olMail
.To = "someone@somedomain.com"
.Subject = "Type your email subject here"
'.Attachments.Add
.Display
signature = olApp.Session.CurrentUser.Address
.Body = corps & signature
End With
    Set olMail = Nothing
    Set olApp = Nothing
End Sub
 
Re : Problème Envoi mail + signature par Outlook via code VBA

Encore merci 🙂

Avec le code proposé, je n'ai plus le corps du message encore une fois 🙁 mais j'ai bien ma signature Outlook..
 
Dernière modification par un modérateur:
Re : Problème Envoi mail + signature par Outlook via code VBA

RE D10

Avec la dernière macro, ouvre Outlook et tu réduit la fenêtre; ensuite tu lance la macro. Si besoin est, affiche la fenêtre du message et clique dedans.


outlook.gif
 

Pièces jointes

  • outlook.gif
    outlook.gif
    20.1 KB · Affichages: 72
Dernière édition:
Re : Problème Envoi mail + signature par Outlook via code VBA

Re

Essaie alors comme ceci

.Display
signature = olApp.Session.CurrentUser.Address
.Body = "Add body text here" & vbCrLf & vbCrLf & signature


Autrement, je ne sais pas.
 
Dernière édition:
- 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

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
622
Réponses
2
Affichages
691
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
365
Retour