Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Envoyer un mail au format HTML avec Access ?

14 réponses
Avatar
Nath
Bonjour,

J'aimerais automatiser une application et envoyer via Outlook les messages
avec un papier peint. J'ai essayé en mettant un modèle par défaut dans
Outlook, mais sans succès. Pour l'instant, ça fonctionne en format texte
seulement. Est-ce que quelqu'un peut m'aider ?

Je me suis basé sur le chapitre 8 du CookBook d'Hervé Inisan pour le code.

Merci !

Meg.

' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier avant
envoi
' False pour expédier le courrier directement.
'
Public Sub EnvoyerEmail(ByVal strDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal strSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit As Boolean)

' Message
strMsg = "Bonjour, " & vbCrLf & vbCrLf _
& "Ceci est un test..." & vbCrLf _
& "Ceci est un 2e test" & vbCrLf & vbCrLf _
& "Ceci est un 3e test" & vbCrLf _
& "Merci !"

On Error Resume Next
DoCmd.SendObject acSendNoObject, , , strDestinataire, strCC, strBCC,
strSujet, strMsg, blnEdit
End Sub

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

à ma connaissance, SendObject ne peut pas envoyer des messages formatés en
HTML, mais seulement des objets pouvant être en format HTML.
pour faire cela, il faut passer par automatisation Access--> Outlook en
utilisant la propriété
BodyFormat = olFormatHTML du message préparé.
tu trouveras des idées et exemples sur:
http://officesystem.access.free.fr/vba/envoi_message.htm
ainsi que:
http://www.3stone.be/access/articles.php?lng=fr&pgˆ

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Nath" a écrit dans le message de news:

| Bonjour,
|
| J'aimerais automatiser une application et envoyer via Outlook les messages
| avec un papier peint. J'ai essayé en mettant un modèle par défaut dans
| Outlook, mais sans succès. Pour l'instant, ça fonctionne en format texte
| seulement. Est-ce que quelqu'un peut m'aider ?
|
| Je me suis basé sur le chapitre 8 du CookBook d'Hervé Inisan pour le code.
|
| Merci !
|
| Meg.
|
| ' ---
| ' ENVOYER UN MAIL DEPUIS ACCESS
| ' ---
| ' Entrée : strDestinataire <- Adresse e-mail du destinataire
| ' strSujet <- Objet du courrier
| ' strMsg <- Corps du message
| ' blnEdit <- True pour pouvoir modifier le courrier
avant
| envoi
| ' False pour expédier le courrier
directement.
| '
| Public Sub EnvoyerEmail(ByVal strDestinataire As String, _
| ByVal strCC As String, _
| ByVal strBCC As String, _
| ByVal strSujet As String, _
| ByVal strMsg As String, _
| ByVal blnEdit As Boolean)
|
| ' Message
| strMsg = "Bonjour, " & vbCrLf & vbCrLf _
| & "Ceci est un test..." & vbCrLf _
| & "Ceci est un 2e test" & vbCrLf & vbCrLf _
| & "Ceci est un 3e test" & vbCrLf _
| & "Merci !"
|
| On Error Resume Next
| DoCmd.SendObject acSendNoObject, , , strDestinataire, strCC, strBCC,
| strSujet, strMsg, blnEdit
| End Sub
|
|
Avatar
heureux-oli
http://heureuxoli.developpez.com/publipostage/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://heureuxoli.developpez.com/publipostage/

Une partie traite de l'envoi de mail au format HTML via Outlook.

--
heureux-oli
http://heureuxoli.developpez.com/


"Nath" a écrit dans le message de news:

Bonjour,

J'aimerais automatiser une application et envoyer via Outlook les messages
avec un papier peint. J'ai essayé en mettant un modèle par défaut dans
Outlook, mais sans succès. Pour l'instant, ça fonctionne en format texte
seulement. Est-ce que quelqu'un peut m'aider ?

Je me suis basé sur le chapitre 8 du CookBook d'Hervé Inisan pour le code.

Merci !

Meg.

' ---
' ENVOYER UN MAIL DEPUIS ACCESS
' ---
' Entrée : strDestinataire <- Adresse e-mail du destinataire
' strSujet <- Objet du courrier
' strMsg <- Corps du message
' blnEdit <- True pour pouvoir modifier le courrier
avant envoi
' False pour expédier le courrier
directement.
'
Public Sub EnvoyerEmail(ByVal strDestinataire As String, _
ByVal strCC As String, _
ByVal strBCC As String, _
ByVal strSujet As String, _
ByVal strMsg As String, _
ByVal blnEdit As Boolean)

' Message
strMsg = "Bonjour, " & vbCrLf & vbCrLf _
& "Ceci est un test..." & vbCrLf _
& "Ceci est un 2e test" & vbCrLf & vbCrLf _
& "Ceci est un 3e test" & vbCrLf _
& "Merci !"

On Error Resume Next
DoCmd.SendObject acSendNoObject, , , strDestinataire, strCC, strBCC,
strSujet, strMsg, blnEdit
End Sub



Avatar
Meg
Bonjour Raymond,

J'ai regardé le code et l'exemple sur Office Système, ça fonctionne bien et
à partir des champs d'un formulaire aussi. Par contre, lorsque j'ajoute au
bloc WITH - END WITH .BodyFormat = olFormatHTML au dessus de la ligne .Body
= Corps ça fonctionne, mais sans le texte. Je dois mettre .Body = Corps en
commentaires. Bref, c'est un ou l'autre. Sauf que j'ai besoin du texte
aussi. As-tu une idée de comment je peux contourner ce problème ?

With OL_Msg
'Portion de code enlevé ici pour les besoins de ce message
.BodyFormat = olFormatHTML
.Subject = Sujet
'.Body = Corps
.Importance = olImportanceHigh
'Portion de code enlevé ici pour les besoins de ce message
End With

Merci !

Meg.

PS. [heureux-oli] J'avais trouver ton site dans le courant de la journée,
mais je n'ai pas eu le temps d'expérimenter.





"Raymond [mvp]" a écrit dans le message
de news: %
Bonjour.

à ma connaissance, SendObject ne peut pas envoyer des messages formatés en
HTML, mais seulement des objets pouvant être en format HTML.
pour faire cela, il faut passer par automatisation Access--> Outlook en
utilisant la propriété
BodyFormat = olFormatHTML du message préparé.
tu trouveras des idées et exemples sur:
http://officesystem.access.free.fr/vba/envoi_message.htm
ainsi que:
http://www.3stone.be/access/articles.php?lng=fr&pgˆ

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
http://officesystem.access.free.fr/wiki/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Nath" a écrit dans le message de news:

| Bonjour,
|
| J'aimerais automatiser une application et envoyer via Outlook les
messages
| avec un papier peint. J'ai essayé en mettant un modèle par défaut dans
| Outlook, mais sans succès. Pour l'instant, ça fonctionne en format texte
| seulement. Est-ce que quelqu'un peut m'aider ?
|
| Je me suis basé sur le chapitre 8 du CookBook d'Hervé Inisan pour le
code.
|
| Merci !
|
| Meg.
|
| ' ---
| ' ENVOYER UN MAIL DEPUIS ACCESS
| ' ---
| ' Entrée : strDestinataire <- Adresse e-mail du destinataire
| ' strSujet <- Objet du courrier
| ' strMsg <- Corps du message
| ' blnEdit <- True pour pouvoir modifier le courrier
avant
| envoi
| ' False pour expédier le courrier
directement.
| '
| Public Sub EnvoyerEmail(ByVal strDestinataire As String, _
| ByVal strCC As String, _
| ByVal strBCC As String, _
| ByVal strSujet As String, _
| ByVal strMsg As String, _
| ByVal blnEdit As Boolean)
|
| ' Message
| strMsg = "Bonjour, " & vbCrLf & vbCrLf _
| & "Ceci est un test..." & vbCrLf _
| & "Ceci est un 2e test" & vbCrLf & vbCrLf _
| & "Ceci est un 3e test" & vbCrLf _
| & "Merci !"
|
| On Error Resume Next
| DoCmd.SendObject acSendNoObject, , , strDestinataire, strCC, strBCC,
| strSujet, strMsg, blnEdit
| End Sub
|
|




Avatar
Raymond [mvp]
Bonjour.

le texte entré est-il bien en HTML ?

exemple simple que tu peux lancer directement et qui fonctionne:

Dim olApp As Outlook.Application
Dim objMail As MailItem
Set olApp = Outlook.Application
Set objMail = olApp.CreateItem(olMailItem)
With objMail
.BodyFormat = olFormatHTML
.HTMLBody = "<HTML><H2>Bonjour à toi Nath ou Meg</H2><BODY>Mon message
doit fonctionner.</BODY></HTML>"
.Display
End With

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Meg" a écrit dans le message de news:

| Bonjour Raymond,
|
| J'ai regardé le code et l'exemple sur Office Système, ça fonctionne bien
et
| à partir des champs d'un formulaire aussi. Par contre, lorsque j'ajoute au
| bloc WITH - END WITH .BodyFormat = olFormatHTML au dessus de la ligne
.Body
| = Corps ça fonctionne, mais sans le texte. Je dois mettre .Body = Corps en
| commentaires. Bref, c'est un ou l'autre. Sauf que j'ai besoin du texte
| aussi. As-tu une idée de comment je peux contourner ce problème ?
|
| With OL_Msg
| 'Portion de code enlevé ici pour les besoins de ce message
| .BodyFormat = olFormatHTML
| .Subject = Sujet
| '.Body = Corps
| .Importance = olImportanceHigh
| 'Portion de code enlevé ici pour les besoins de ce message
| End With
|
| Merci !
|
| Meg.
|
| PS. [heureux-oli] J'avais trouver ton site dans le courant de la journée,
| mais je n'ai pas eu le temps d'expérimenter.
|
Avatar
Raymond [mvp]
.../...

je rajoute pour résumer:
-le body est pour le texte brut
-le htmlbody est pour le texte HTML
c'est l'un ou l'autre.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Raymond [mvp]" a écrit dans le message
de news: eJQ%
| Bonjour.
|
| le texte entré est-il bien en HTML ?
|
| exemple simple que tu peux lancer directement et qui fonctionne:
|
| Dim olApp As Outlook.Application
| Dim objMail As MailItem
| Set olApp = Outlook.Application
| Set objMail = olApp.CreateItem(olMailItem)
| With objMail
| .BodyFormat = olFormatHTML
| .HTMLBody = "<HTML><H2>Bonjour à toi Nath ou Meg</H2><BODY>Mon message
| doit fonctionner.</BODY></HTML>"
| .Display
| End With
|
Avatar
Meg
Super Raymond,

Tu es un génie :-)

Une dernière petite chose, la raison pour laquelle je devais mettre le
message en HTML était pour une application d'anniversaires. La secrétaire
aimerait avoir un petit fond d'écran (papier peint). Ça fonctionne si elle a
sélectionné le papier peint par défaut dans Outlook. Comme le papier peint
pour l'application des anniversaires n'est pas le même que celui qu'elle
utilise tous les jours, ça risque d'être un irritant si elle doit
sélectionner le bon papier peint par défaut avant d'envoyer le message de
bonne fête.

AS-TU UNE SOLUTION POUR CELA ?

PS. Je constate que tu aide beaucoup les gens, pourquoi ne mets tu pas
PAYPAL sur ton site histoire qe l'on puisse t'envoyer une contribution
volontaire pour les services rendus. En tous les cas, moi ça me ferait
plaisir de t'envoyer un petit quelque chose. Par chez nous on appelle ça
dela reconnaissance.

Encore un GROS MERCI pour ton aide!

Megan.


"Raymond [mvp]" a écrit dans le message
de news:
.../...

je rajoute pour résumer:
-le body est pour le texte brut
-le htmlbody est pour le texte HTML
c'est l'un ou l'autre.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Raymond [mvp]" a écrit dans le
message
de news: eJQ%
| Bonjour.
|
| le texte entré est-il bien en HTML ?
|
| exemple simple que tu peux lancer directement et qui fonctionne:
|
| Dim olApp As Outlook.Application
| Dim objMail As MailItem
| Set olApp = Outlook.Application
| Set objMail = olApp.CreateItem(olMailItem)
| With objMail
| .BodyFormat = olFormatHTML
| .HTMLBody = "<HTML><H2>Bonjour à toi Nath ou Meg</H2><BODY>Mon message
| doit fonctionner.</BODY></HTML>"
| .Display
| End With
|




Avatar
Raymond [mvp]
je ne me suis jamais penché sur le problème du papier peint outlook et je ne
m'avancerais pas sur le sujet. je le note si je trouve quelques minutes pour
approfondir.

pour le Paypal, je n'accepte que les chèques numérotés sur mon compte
numéroté aux bahamas, mais j'y vais si peu souvent.........

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Meg" a écrit dans le message de news:

| Super Raymond,
|
| Tu es un génie :-)
|
| Une dernière petite chose, la raison pour laquelle je devais mettre le
| message en HTML était pour une application d'anniversaires. La secrétaire
| aimerait avoir un petit fond d'écran (papier peint). Ça fonctionne si elle
a
| sélectionné le papier peint par défaut dans Outlook. Comme le papier peint
| pour l'application des anniversaires n'est pas le même que celui qu'elle
| utilise tous les jours, ça risque d'être un irritant si elle doit
| sélectionner le bon papier peint par défaut avant d'envoyer le message de
| bonne fête.
|
| AS-TU UNE SOLUTION POUR CELA ?
|
| PS. Je constate que tu aide beaucoup les gens, pourquoi ne mets tu pas
| PAYPAL sur ton site histoire qe l'on puisse t'envoyer une contribution
| volontaire pour les services rendus. En tous les cas, moi ça me ferait
| plaisir de t'envoyer un petit quelque chose. Par chez nous on appelle ça
| dela reconnaissance.
|
| Encore un GROS MERCI pour ton aide!
|
| Megan.
Avatar
Raymond [mvp]
Je pense que ta secrétaire doit être sous Outlook express non ?

sous outlook, on parle de Thèmes et ce n'est pas tout à fait pareil.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Raymond [mvp]" a écrit dans le message
de news:
Avatar
Meg
Elle est sous Outlook, Version XP


"Raymond [mvp]" a écrit dans le message
de news:
Je pense que ta secrétaire doit être sous Outlook express non ?

sous outlook, on parle de Thèmes et ce n'est pas tout à fait pareil.

--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j'en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Raymond [mvp]" a écrit dans le
message
de news:




Avatar
Raymond [mvp]
ben maintenant faut voir le thème et ça , ça va demander du temps.
même à la main:
Changer le papier à lettres
1.. Sélectionnez un message électronique, puis cliquez sur Répondre,
Répondre à tous ou Transférer.
2.. Sous l'onglet Options, dans le groupe Thèmes, cliquez sur Couleur de
page, puis sur Motifs et textures.
Les options de la boîte de dialogue Motifs et textures comprennent des
dégradés de couleur d'arrière-plan, des textures et des images en mosaïque.
3.. Cliquez sur OK pour appliquer vos modifications.

ce n'est pas évident que tu ais cette procédure en version xp, ça peut
changer à chaque version.
c'est pas gagné.
--
@+
Raymond Access MVP http://www.OfficeSystemAccess.com/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Cet été, j’en ai rien à coder, je me forme : les devoirs de vacances
http://www.comscamp.com/Tracker/Redirect.ashx?linkidJd96883-a859-4212-b4a0-bce47c8e0d99


"Meg" a écrit dans le message de news:

| Elle est sous Outlook, Version XP
|
1 2