Excel appelle Outlook : perdu !

  • Initiateur de la discussion Initiateur de la discussion Minot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Minot

XLDnaute Nouveau
Bonjour
A partir d'un programme VBA Excel, je cherche à envoyer un mail via Outlook. Ce que j'ai écrit marche jusqu'au moment de l'envoi par .send où un message d'erreur apparaît :
"Erreur d'exécution 287 - Erreur définie par l'application ou par l'objet".
A noter que si j'ouvre Outlook avant d'utiliser mon programme Excel, je n'ai pas d'erreur et le mail part comme prévu
Voici mon programme car je séche :
Option Explicit
Public OutlookApp As Outlook.Application
Public MItem As Outlook.MailItem
Dim Adress As String
Dim Repres As String
Dim Civilite As String
Dim Module As String
Dim Msg As String

Sub Mail1()
'Récupérer les données de la feuille Mail
RecupDonnees
'Composer le message
Msg = "Bonjour " & Civilite & " " & Repres & vbCrLf & vbCrLf
Msg = Msg & "A la suite de notre contact téléphonique, vous trouverez en piéces jointes les modalités d'inscription à notre module de formation," & vbCrLf
Msg = Msg & "Dans l'attente de votre confirmation, veuillez recevoir mes salutations distinguées." & vbCrLf & vbCrLf
'Créer le mail et le transmettre
SendMail
End Sub

Sub RecupDonnees()
'Créer l'objet Outlook
Set OutlookApp = New Outlook.Application
'Obtenir les données
Worksheets("Mail").Activate
Adress = Range("B1").Value
Objet = Range("B2").Value
Repres = Range("B3").Value
Civilite = Range("B4").Value
Module = Range("B5").Value
End Sub

Sub SendMail()
'Créer le contenu du mail et le transmettre
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.To = Adress
.Subject = Objet
.Body = Msg
.Send 'c'est ici que cela bloque !!
End With
End Sub

Nota : les données sont dans une feuille Excel intitulée "Mail"

Voilà, une idée salvatrice serait trés appréciée.
Merci pour tout
 
Re : Excel appelle Outlook : perdu !

Bonjour Minot et bienvenue 🙂,
Techniquement, je pense que les sous macros avec un objet public, ça doit mal se digérer 😛...
Essaie d'établir une seule et unique macro, je pense que ça ira mieux 😉...
Bonne journée 😎
 
Re : Excel appelle Outlook : perdu !

Bonjour,
J'ai suivi ton conseil, j'ai épuré mon programme sans Public et avec un seul morceau comme ceci :

Sub SendEmail()

Dim OutlookApp As Outlook.Application
Dim MItem As Outlook.MailItem
Dim Adress As String
Dim Repres As String
Dim Civilite As String
Dim Msg As String

'Créer l'objet Outlook
Set OutlookApp = New Outlook.Application

'Obtenir les données
Worksheets("Mail").Activate
Adress = Range("B1").Value
Objet = Range("B2").Value
Repres = Range("B3").Value
Civilite = Range("B4").Value

'Composer le message
Msg = "Bonjour " & Civilite & " " & Repres & vbCrLf & vbCrLf
Msg = Msg & "Nous avons bien reçu le formulaire d'inscription à la formation " & vbCrLf & vbCrLf
Msg = Msg & "Cordialement"

'Créer le contenu du mail et le transmettre
Set MItem = OutlookApp.CreateItem(olMailItem)
With MItem
.To = Adress
.Subject = Objet
.Body = Msg
.Send
End With

End Sub

Résultat : toujours la même erreur sur "send"

Une autre idée car je patauge sec ?
Merci
 
Re : Excel appelle Outlook : perdu !

Re 🙂,
Effectivement, je viens de faire des tests, et ça ne marche pas chez moi non plus 😱...
Je n'avais jamais eu ce problème pour 2 raisons :
1) Je n'utilise jamais .Send, mais .Display qui affiche le message avant de l'envoyer (je n'aime pas envoyer des messages sans les voir), et qui fonctionne avec Outlook ouvert comme fermé 😉.
2) A l'ouverture de ma session, j'ouvre toujours Outlook en premier (et il reste ouvert jusqu'à la fin de ma session), donc évidement, je n'avais jamais testé .Send avec Outlook fermé 🙄...
Une bête solution, mais qui ne me convient pas, est d'utiliser Shell
Code:
Shell ("C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE")
chemin à adapter chez toi, afin d'être sûr qu'Outlook soit ouvert. Mais ça va ouvrir à chaque fois une nouvelle session d'Outlook... et pour la fermer, je sèche un peu, sur le net, il est toujours question de Handle, or comme je suis en 64 bits, les Handle ne sont pas les mêmes 😱.
Bon courage 😎
 
Re : Excel appelle Outlook : perdu !

JNP, ton display est génial
ça ouvre Outlook
ça permet éventuellement de faire quelques modifications du mail
ça permet de lancer ou non le mail
je n'avais jamais utilisé display, c'est géant
encore merci, je vais de suite faire quelques tests sur plusieurs situations différentes pour voir si cela marche en toute circonstance
au plaisir de te rendre service à mon tour
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
817
Réponses
2
Affichages
809
Réponses
1
Affichages
180
Réponses
4
Affichages
461
Retour