Utilisation de VBA pour envoyer e-mail. Ouverture ootlook

Hello à tous.

J'ai de nouveau un petit souci.

Voilà : j'ai créé (enfin, plutôt récupéré et adapté) une macro pour générer un PDF et l'envoyer ensuite par mail (via outlook".

Tout va bien sauf que j'aimerais vraiment qu'Outlook ouvre la fenêtre d'envoi de mail. Ce qui me permettrait, entre autres choses : de personnaliser mon message, de rajouter une adresse mail, etc.

Or la macro fait partir le mail directement sans ouvrir Outlook.

Quelqu'un a-t-il une idée pour faire ce petit réglage ?

merci d'avance

Vinny

Public Sub testEnvoiMail()

  Dim MonOutlook As Object
  Dim MonMessage As Object
  Dim email As string
  Dim fichierjoint As string

  ' On crée une instance d'Outlook :
  Set MonOutlook = CreateObject("Outlook.Application")
  ' Et on crée un élément Outlook, qui sera un message E-Mail :
  Set MonMessage = MonOutlook.CreateItem(0)

  MonMessage.To = email
  MonMessage.Subject = "Devis N°" & fichierjoint
  MonMessage.Body = "Bonjour. Veuillez trouver ci-joint le devis concernant : " & Range("d11") & "Cordialement."
  MonMessage.Attachments.Add "C:\Documents and Settings\Mes documents\Société\devis\" & fichierjoint & ".pdf"
  MonMessage.ReadReceiptRequested = True

  Dim envoi As String
  envoi = MsgBox("Envoyer le devis à l'adresse : " & Range("M5").Value, vbYesNo)
  If envoi = vbYes Then
  MonMessage.send
  MsgBox "Devis généré ET envoyé à l'adresse : " & Range("M5").Value
  Else: MsgBox "Devis généré mais pas envoyé"
  End If

  Set MonOutlook = Nothing ' On ferme !

End Sub

Bonjour

Essaye en modifiant :

If envoi = vbYes Then

MonMessage.send

par

If envoi = vbYes Then

Application.Dialogs(xlDialogSendMail).Show

Amicalement

Nad

Hello Nad

merci pour ta réponse.

Effectivement, ça ouvre bien une fenêtre Outlook comme je voulais.

Le petit souci maintenant c'est que je perds toutes les infos concernant l'adresse du destinataire, le sujet, le message et surtout le fichier joint.

Pour les 2 premiers, je m'en sors comme ceci :

  Dim adressemail As String
  Dim subject As String 

  Dim envoi As String
  envoi = MsgBox("Envoyer le devis à l'adresse : " & Range("M5").Value, vbYesNo)
  If envoi = vbYes Then
  Application.Dialogs(xlDialogSendMail).Show adressemail, subject
  MsgBox "Devis généré ET envoyé à l'adresse : " & Range("M5").Value
  Else: MsgBox "Devis généré mais pas envoyé"
  End If

En ce qui concerne le corps du message, j'ai tenté de rajouter une variable ainsi que la ligne ci-dessous :

  dim message as string
...
  SendKeys message

Mais ça me renvoie une chaîne de caractères sans queue ni tête en guise de corps du message.

Mais là où vraiment je suis perdu, c'est concernant le fichier attaché.

Comment créer l'argument qui va bien pour attacher un fichier ??

De plus, la macro me met par défaut le fichier Excel en P.j. (ce qui est très très vilain !)

Merci d'avance

Vinny

-- 08 Mar 2010, 16:34 --

-- 08 Mar 2010, 16:35 --

Stop stop on arrête tout !

En fait c'était d'une simplicité enfantine.

Il suffisait de remplacer

If envoi = vbYes Then

MonMessage.send

par

If envoi = vbYes Then

MonMessage.display

Aussi simple que cela.

Merci à Nad qui m'a mis sur la voie (après m'avoir fait gratter la tête )

Vinny

13autoj.xlsm (47.36 Ko)
Rechercher des sujets similaires à "utilisation vba envoyer mail ouverture ootlook"