Salut à tous.
J'ai fait une routine d'envoi de mails par VBA Excel avec appel précoce à
Outlook. Ces mails comprennent 3 pièces jointes chacun et sont envoyés
nombreux à chaque fois.
Voici la routine d'envoi de mail :
Sub EnvoyerMailOutlook(TableauPJ() As String, Expediteur As String,
Destinataire As String, Sujet As String, Corps As String)
Application.DisplayAlerts = False
Dim i
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
olmail.To = Destinataire
olmail.Subject = Sujet
olmail.Body = Corps
For i = 1 To 3
If TableauPJ(i) = "" Then Exit For
olmail.Attachments.Add TableauPJ(i)
Next i
olmail.Send
Application.DisplayAlerts = True
Set myolapp = CreateObject("Outlook.Application")
myolapp.Quit
Attendre 5
ol.Quit
End Sub
En surveillant le gestionnaire de tâches, j'ai remarqué que la macro ouvre
des instances d'Outlook sans jamais les refermer, si bien qu'après une
douzaine de mails, j'ai un message du genre 'Outlook est utilisé par trop
d'applications'. J'ai essayé à l'aveugle de modifier la routine, en enlevant
par exemple les articles 'New'. Il ne m'ouvrait alors qu'une instance, mais
n'envoyait jamais rien (bien que les mails se retourvent dasns les 'Elements
envoyés').
Comment puis-je refermer les instances ouvertes sans interrompre l'envoi du
mail (chaque mail faisant 400ko, son envoi peut prendre quelques secondes)
?
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant
| pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque :
"Microsoft CDO for Windows 2000 Library" que tu es
supposé avoir ajouter à ton projet. La version d'excel
n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook"
cela fonctionne très bien. Est-ce possible d'avoir la même chose
en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que
je sache, "Outlook Express" ne possède pas beaucoup d'options
qui soit définissable par programmation.
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.
Gadget
Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de l'autre. Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis de lecture... A plus. "michdenis" a écrit dans le message de news: e3k%
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.
Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de
l'autre.
Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je
m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis
de lecture...
A plus.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
e3k%237lEDJHA.3908@TK2MSFTNGP04.phx.gbl...
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant
| pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque :
"Microsoft CDO for Windows 2000 Library" que tu es
supposé avoir ajouter à ton projet. La version d'excel
n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook"
cela fonctionne très bien. Est-ce possible d'avoir la même chose
en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que
je sache, "Outlook Express" ne possède pas beaucoup d'options
qui soit définissable par programmation.
Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de l'autre. Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis de lecture... A plus. "michdenis" a écrit dans le message de news: e3k%
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.
michdenis
Moi je n'ai aucun problème ... mais si tu désires plus de détails tu vas sur le forum de Microsoft Outlook ...
"Gadget" a écrit dans le message de news: 48bc1091$0$861$ Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de l'autre. Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis de lecture... A plus. "michdenis" a écrit dans le message de news: e3k%
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.
Moi je n'ai aucun problème ... mais si tu désires plus de détails
tu vas sur le forum de Microsoft Outlook ...
"Gadget" <asd@zdifu.fr> a écrit dans le message de news:
48bc1091$0$861$ba4acef3@news.orange.fr...
Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de
l'autre.
Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je
m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis
de lecture...
A plus.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
e3k%237lEDJHA.3908@TK2MSFTNGP04.phx.gbl...
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant
| pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque :
"Microsoft CDO for Windows 2000 Library" que tu es
supposé avoir ajouter à ton projet. La version d'excel
n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook"
cela fonctionne très bien. Est-ce possible d'avoir la même chose
en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que
je sache, "Outlook Express" ne possède pas beaucoup d'options
qui soit définissable par programmation.
Moi je n'ai aucun problème ... mais si tu désires plus de détails tu vas sur le forum de Microsoft Outlook ...
"Gadget" a écrit dans le message de news: 48bc1091$0$861$ Oups au temps pour moi, j'avais coché Microsoft CDO 1.21 Library au lieu de l'autre. Néanmoins, après avoir rétabli le code tel que tu me le proposes, quand je m'envoie un mail avec cette macro, il ne m'est toujours pas demandé d'avis de lecture... A plus. "michdenis" a écrit dans le message de news: e3k%
| Les constantes cdoDispositionNotificationTo et cdoReturnReceiptTo n'étant | pas définies dans mon projet
Ces constantes appartiennent à la bibliothèque : "Microsoft CDO for Windows 2000 Library" que tu es supposé avoir ajouter à ton projet. La version d'excel n'est pas pertinente en ce qui concerne ces constantes.
Si tu fais la gestion de tes courriels par "Microsoft Outlook" cela fonctionne très bien. Est-ce possible d'avoir la même chose en utilisant "Outlook Express" ? Je n'en sais rien... mais à ce que je sache, "Outlook Express" ne possède pas beaucoup d'options qui soit définissable par programmation.