Bonjour,

Je dois, depuis différents formulaires Access permettre l'envoi de mail à un utilisateur.
J'arrive très bien à le faire, mais je n'arrive pas à insérer la signature Outlook prédéfinie dans ce mail.

J'ai épluché pas mal de solutions proposées, et sachant que des utilisateurs différents (donc depuis différents postes et surtout avec différentes adresses et signatures) peuvent envoyer des mails. Cela a un peu restreint mes possibilités : j'ai vu certaines solutions proposant de donner le chemin d'accès + le nom de la signature, mais ce n'est du coup vraiment pas pratique pour moi.

En revanche, j'ai trouvé une solution qui me convient très bien mais le fonctionnement est comme qui dirait "perturbé".
Voici mon code, il s'agit d'une fonction que j'appelle depuis l’événement Click d'un bouton sur mes formulaires Access.

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
29
30
31
 
Public Function CreateEmail( _
    Recipient As String, _
    Carboncopy As String, _
    Subject As String, _
    Body As String, _
    Optional Attach As Variant)
 
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
 
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
 
    On Error Resume Next
 
    With OutMail
    .Display
    .To = Recipient
    .cc = Carboncopy
    .Subject = Subject
    .HTMLBody = Body & "<br>" & OutMail.HTMLBody
    .Send
    End With
 
    On Error GoTo 0
    Set OutMail = Nothing
    Set OutApp = Nothing
 
End Function
Le problème que j'ai, c'est que lorsque j'envoi ce mail, rien ne se passe (je vois juste la fenêtre du mail s'afficher un bref instant avec le Display, puis plus rien, et je ne reçois pas de mail).
Par contre, si j'enlève ensuite le .Display et que je renvoi le mail, alors je vais recevoir 2 mails d'un coup : le premier avec la signature et le second sans signature puisqu'il a été envoyé sans le Display.

Donc si je comprend bien, mon mail avec la signature reste en quelque sorte "bloqué", et il se fait débloquer par réception d'un mail tout ce qu'il y a de plus classique ?
Je n'arrive vraiment pas à résoudre cette erreur, d'autant plus que le mail que je reçois avec la signature est vraiment exactement ce que je veux, donc ça veut dire que le code est correct, mais il manque quelque chose...

Je suis preneur de toutes suggestions !
Merci par avance.

Edit : En fait j'ai trouvé le problème, pour que ça fonctionne avec le .Display, il faut que le logiciel Microsoft Outlook soit ouvert... Je pensais que la messagerie suffirait, mais ce n'est pas le cas visiblement.

Cordialement,
Boris W