begin process at 2012 02 17 02:21:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Envoi de mail via Outlook : Rendre le mail visible


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi de mail via Outlook : Rendre le mail visible

lundi 31 juillet 2006 à 15:46:17 | Envoi de mail via Outlook : Rendre le mail visible

Molenn

Bonjour,

Une petite question sur l'envoi d'un mail via Outlook.

Contexte :
Via un formulaire ACCESS, j'alimente un fichier Word qui contient un certain nb de données :
Destinataires
Objet
Corps de message
Ces données sont utilisées comme modèles pour envoyer un mail (à base de copier/coller, etc ...)

Ce que je tente de faire :
Pourquoi s'embêter à faire un copier / coller des différents champs alors qu'au lieu d'alimenter un fichier Word, je pourrais alimenter directement un nouveau message dans Outlook.
J'ai trouvé différentes source, dont celle de DarkCid qui répond en partie à mon besoin :

Dim objOutlook As New Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
  
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
       .To = "toto@toto.fr"
       .Subject = "Objet du message"
       .Body = "Texte du message"
       .Send
End With
Set objOutlookMsg = Nothing

Avec ce code, effectivement, je peux envoyer un mail. Le soucis, c'est que c'est transparent, ça ne s'affiche pas à l'écran.
Etant une flèche, ce que je voudrais en fait générer, c'est une fenêtre Nouveau message pré-remplie, à moi de l'envoyer si les champs sont correctements remplis (ne jamais envoyer un mail à une liste de chefs sans avoir au préalable relu 3 fois celui-ci :p).

Pour bloquer l'envoi du mail, il suffit que je bloque le .send
Par contre, comment faire pour que le mail ainsi crée soit visible ?
A priori, la propriété .visible n'existe pas pour l'objet Outlook dans VBA.
Et est-ce que ça suffirait à faire apparaître ma fenêtre Nouveau Message ? Ou l'objet que je déclare n'est pas bon ?

D'avance merci.

Molenn
lundi 31 juillet 2006 à 22:17:26 | Re : Envoi de mail via Outlook : Rendre le mail visible

wape

Réponse acceptée !
Bonjour,

Essaye de remplacer .Send par .Display


wape

mardi 1 août 2006 à 00:13:28 | Re : Envoi de mail via Outlook : Rendre le mail visible

MPi

Tu pourrais aussi utiliser l'API ShellExecute qui lancerait l'application de courriel par défaut, pas nécessairement Outlook. Efficace s'il n'y a pas de fichier joint.

Déclaration dans un module ou en entête de formulaire:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal Hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Utilisation:
Dim Tmp as long
Tmp = ShellExecute(0, "Open", "mailto:" & "adresse e-mail" & "?Subject=Sujet&Body=Texte à écrire", 0&, 0&, 1)

Ça pourrait peut-être servir...(?)

MPi
mardi 1 août 2006 à 10:37:43 | Re : Envoi de mail via Outlook : Rendre le mail visible

Molenn

C'est magique !!! C'était bien la propriété Display.
Merci encore.

C'est ma paye qui va être contente, ça va m'éviter d'envoyer des bêtises à toute la hiérarchie de manière automatique, et sans que je le sache en plus ! :p

Molenn

P.S. : Pour l'API, il est possible que ça fonctionne, mais je n'ai pas essayé. Le display répondant à mon attente et étant nettement plus simple à utiliser ^^ (sans compter que je n'ai jamais utiliser une API de ma vie : je préfère ne pas trop me compliquer pour le moment :) )
mardi 1 août 2006 à 16:10:29 | Re : Envoi de mail via Outlook : Rendre le mail visible

nagstef

Bonjour !!

J'ai fait un Copier coller du code suivant

Dim objOutlook As New Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
  
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
       .To = "toto@toto.fr"
       .Subject = "Objet du message"
       .Body = "Texte du message"
       .Send
End With
Set objOutlookMsg = Nothing


et il me fait une erreur "type defini par l'utilisateur non défini" lors du 1° "dim"

Ai-je oublié de définir quelque chose aussi ?

Merci
mardi 1 août 2006 à 22:34:00 | Re : Envoi de mail via Outlook : Rendre le mail visible

MPi

Salut,

Tu dois créer une référence à Outlook dans ton projet
Menu Outils / Références

Ensuite, il ne devrait plus y avoir d'erreur

(C'est quand même plus lourd à gérer que l'API proposée... :))

MPi


Cette discussion est classée dans : outlook, message, mail, envoi, visible


Répondre à ce message

Sujets en rapport avec ce message

Empecher message avertissement Outlook lors de l'envoi de mail automatique en vb access [ par filiplarlibe ] Bonjour a tous,j'ai un petit problème lors de l'envoi automatique d'un mail en vb access. Le mail s'envoie bien mais il y a un message d'avertissement envoi de mail de excel vers outlook erreur 429 [ par gregcitt ] Hello,JE fais suite à une question que j'avais déja posé pour laquelle je n'ai pas trouvé de solution.Ma macro permet l'envoi automatique de mail depu Securite outlook 2002 envoi mail automatique [ par filiplarlibe ] Bonjour a tous, j'aimerais savoir si quelqu'un a trouvé un moyen pour éviter d'avoir un message de la part de microsoft outlook pour l'envoi d'un mail ouvrir sur un nouveau message outlook [ par Atrius87 ] bonjour, je cherche a faire apparaitre le fenetre nouveau message de outlook suite à un clic sur mon mail!Je souhaiterais aussi que mon mail apparaiss Probleme envoi mail a cause de PHP_SELF [ par 73manu73 ] Bonjour, J'ai trouvé un script php d'envoi mail que j'ai quelque peu modifié à ma convenace. Deux questions se posent à moi : 1. Lorsque j'utilise Envoi de mail sous ACCESS 2000 en VBA via outlook 11 [ par PtitGrumo ] Bonjour,Voici mon envoi de mail automatique    Dim objOutlook          As Outlook.Application    Dim objOutlookAttach    As Outlook.Attachment<BR Envoi de message avec piece jointe [ par yoyo2 ] Bonjour à tous, J'ai un problème avec l'envoi de mail avec une piece jointe. Voici le code source :         Dim monMail As New MailMessage       &nb Envoi mail vbs [ par Travailleuuse06 ] Bonjour,J'ai essayé le code suivant : Set mail = CreateObject("CDO.Message")mail.From = "moi@xxxxxx.com"mail.To = "< Envoi de mail sous Outlook selon critere [ par saojin ] Voila j'aimerais envoyer automatiquement ou en lançant une macro , des mails a certains de mes contacts qui sont dans ma boites de reception  et selon envoi de mail exterieurs au domaine [ par tump ] bonjour !!jenvoi des mail automatiquement avec :objEmail = CreateObject("CDO.Message")ça marche tres bien quand j'envoi un mail a linterieur de la soc


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,104 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales