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

Problème VBA Outlook 2002

8 réponses
Avatar
couscous
Bonne année à tous.

Je possède Outlook 2002 SP2 et j'ai écrit la procèdure suivante pour envoyer
un mail automatique dans un module d'outlook.

Sub env_mess()

Dim Var_Message As MailItem

Set Var_Message = CreateItem(olMailItem)
Var_Message.Recipients.Add ("toto@toto.fr") 'Adresse destinataire
Var_Message.Subject = "Commande"
Var_Message.BodyFormat = olFormatHTML
Var_Message.HTMLBody = "Texte body"
Var_Message.Send

End Sub

Rien de bien compliqué mais le message qui part est vide. Il n'y a rien
entre <BODY> et </BODY>.
Si je remplace la ligne Send par Var_Message.Display pour le visualiser, pas
de souci il est bien rempli mais si j'essaye de l'envoyer ou de le
sauvegarder il devient de nouveau vide.
J'ai essayé cela sur 3 outlook 2002 avec le même résultat décourageant.
J'ai essayé en enlevant le BodyFormat, pas de changement.
J'ai essayé en utilisant Body au lieu de HTMLBody mais les codes HTML sont
traduits pour être affiché et ne sont pas interprété comme du HTML.

Quelqu'un serait-t-il d'où cela peut provenir? Ne peut-t-on pas injecter du
code HTML dans un message par programmation sans qu'il soit perturbé lors de
l'envoie ou de la sauvegarde?

Sur outlook 2003 pas de souci, cela fonctionne parfaitement, le problème à
l'air de provenir d'outlook 2002 et naturellement j'ai besoin de conserver
cette version.

Par avance merci de vos lumières car je ne trouve aucune solution.

8 réponses

Avatar
-=lolol=-
Bonjour couscous,

Je pense que c'est le .save qui te manque (pas certain, pas essayé), j'ai un
truc qui fais ça que je te colle ici

Sub EnvoiMailAuto()
Dim Ol_App As New Outlook.Application
Dim Ol_Item As Outlook.MailItem
Set Ol_Item = Ol_App.CreateItem(olMailItem)
With Ol_Item
.To = ""
.Subject = "L'objet du message"
.Body = "Le corps du message"
.Attachments.Add "F:Mes Documentsfichier.jpg"
.Save
.Send
End With
Set Ol_Item = Nothing
Set Ol_App = Nothing
End Sub

Cordialement
@+lolo
Avatar
couscous
Merci pour ta réponse mais si je fais un save le message arrive dans les
brouillons vide avant l'envoi si bien qu'il part toujours aussi vide.

Ta procédure fonctionne avec Outlook 2002 ???? ou avec une autre version.

Cordialement.

"-=lolol=-" a écrit dans le message de
news:ebuB%
Bonjour couscous,

Je pense que c'est le .save qui te manque (pas certain, pas essayé), j'ai
un

truc qui fais ça que je te colle ici

Sub EnvoiMailAuto()
Dim Ol_App As New Outlook.Application
Dim Ol_Item As Outlook.MailItem
Set Ol_Item = Ol_App.CreateItem(olMailItem)
With Ol_Item
.To = ""
.Subject = "L'objet du message"
.Body = "Le corps du message"
.Attachments.Add "F:Mes Documentsfichier.jpg"
.Save
.Send
End With
Set Ol_Item = Nothing
Set Ol_App = Nothing
End Sub

Cordialement
@+lolo



Avatar
-=lolol=-
Bonjour couscous,

Merci pour ta réponse mais si je fais un save le message arrive dans
les brouillons vide avant l'envoi si bien qu'il part toujours aussi
vide.

Ta procédure fonctionne avec Outlook 2002 ???? ou avec une autre
version.


C'est une vielle procédure que je crois avoir eu l'occasion d'utiliser sur
2000 / 2002 ... j'essairais de prendre le temps de la remettre en branle
pour vérifier qu'elle fonctionne toujours bien.

@+lolo

Avatar
-=lolol=-
Bonjour couscous,
Je viens de vérifier, cette procédure "fonctionne" sous outlook 2003 et
excel 2002. Seul petit bémol, il y a le message de sécurité "un programme
essaye d'envoyer ... voulez vous l'autoriser...".
Comme répété plusieurs fois ici, il faut déclarer les tous les objets dans
l'ordre qui va bein pour solutionner ce soucis. Je n'ai pas le temps pour le
moment de gratter sur ce sujet.
hth
@+lolo
Avatar
JièL Goubert
Bonjoir© -=lolol=- et couscous

Le 04/01/2006 09:16 vous avez écrit... :
Bonjour couscous,
Je viens de vérifier, cette procédure "fonctionne" sous outlook 2003 et
excel 2002. Seul petit bémol, il y a le message de sécurité "un
programme essaye d'envoyer ... voulez vous l'autoriser...".


Y'a une autre fabuleuse FAQ ;-) qui cause de ce soucis et donne des
procédures pour ne pas avoir ce pb d'avertissement
http://www.3stone.be/access/articles.php?lng=fr&pg‰

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
-=lolol=-
Bonjour JièL,

Y'a une autre fabuleuse FAQ ;-) qui cause de ce soucis et donne des
procédures pour ne pas avoir ce pb d'avertissement
http://www.3stone.be/access/articles.php?lng=fr&pg‰


Je crois donc savoir d'ou viens la macro que j'ai proposé :-)
Donc merci (je ne m'en souvenais plus) mais connaissais quand même l'adresse
mainte fois proposée ici ... par je sais plus qui d'ailleurs ...

--
Cordialement
@+lolo

Avatar
couscous
Je suis d'accord pour le fonctionnement dans outlook 2003.

Je n'ais pas de soucis.

Mes soucis proviennent de Outlook 2002.

"-=lolol=-" a écrit dans le message de
news:
Bonjour couscous,
Je viens de vérifier, cette procédure "fonctionne" sous outlook 2003 et
excel 2002. Seul petit bémol, il y a le message de sécurité "un programme
essaye d'envoyer ... voulez vous l'autoriser...".
Comme répété plusieurs fois ici, il faut déclarer les tous les objets dans
l'ordre qui va bein pour solutionner ce soucis. Je n'ai pas le temps pour
le

moment de gratter sur ce sujet.
hth
@+lolo



Avatar
couscous
Mon problème n'est pas le message d'avertissement. Mon problème c'est que le
mail est vide dans outlook 2002.

Pourquoi?????

Par avance merci.

"JièL Goubert" a écrit dans le
message de news:
Bonjoir© -=lolol=- et couscous

Le 04/01/2006 09:16 vous avez écrit... :
Bonjour couscous,
Je viens de vérifier, cette procédure "fonctionne" sous outlook 2003 et
excel 2002. Seul petit bémol, il y a le message de sécurité "un
programme essaye d'envoyer ... voulez vous l'autoriser...".


Y'a une autre fabuleuse FAQ ;-) qui cause de ce soucis et donne des
procédures pour ne pas avoir ce pb d'avertissement
http://www.3stone.be/access/articles.php?lng=fr&pg‰

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr