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

Ouvrir Outlook

6 réponses
Avatar
denis le breton
Bjr, une question récurrente avec bcp de réponses mais contexte un peu
différent
Le contetxe
envoyer des mails depuis excel avec Outlook 2003 sous XP pro
- ce qui marche
génération du mail
- ce qui ne marche pas
envoi du mail (il reste dans la boite d'envoi) tant que outlook n'est pas
ouvert réellement (en clair excel est ouvert mais pas outlook)

- Les macros qui tournent
Sub SendMail_Outlook()
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools /
Reference / Cocher "Microsoft Outlook Library"
suj = "Envoi automatique merci de ne pas répondre"
cont = "Veuillez trouvez en pièce jointe le fichier attendu"
adfic = "E:\Perso\Nuit St Georges.xls"
adfic1 = "E:\Perso\mode ss echec VISTA.txt"
dest = "denislebreton@gmail.com; lebretondenis@gmail.fr" 'plusieurs
destinataires séparés par un point virgule ;
'destcc = "denis.lebreton@laposte.fr"
destbcc = "denis.lebreton@voila.fr"
Set myOlApp = CreateObject("Outlook.Application")
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = dest 'destinataire
.CC = destcc 'destinataire en copie
.BCC = destbcc 'destinataire en copie cachée
.Subject = suj 'le sujet du mail
.Body = cont 'le corps du mail
.Attachments.Add adfic 'la pièce jointe
.Attachments.Add adfic1 'une autre pièce jointe
'.Display ' pour visualiser le mail avant envoi
.Send ' pour envoyer le mail sans visualiser
'On peut switcher entre .send et .display selon que l'on veut envoyer le
mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub
Sub Quit_Outlook()
'Demander à Excel de Quitter Outlook
Set myOlApp = CreateObject("Outlook.Application")
myOlApp.Quit
End Sub

Bien sûr, le sujet, le corps du message les pièces jointes les destinataires
peuvent être passés en paramètre
Ps avec "YesXpress.msi" et "ClickYesSetup.exe" je n'ai pas de problème de
blocage

Mais comment ouvrir Outlook pour que les mail partent ?

Merci pour votre intérêt porté à ce sujet et les éventuelles réponses
Denis

6 réponses

Avatar
Modeste
Bonsour® denis le breton avec ferveur ;o))) vous nous disiez :

Bjr, une question récurrente avec bcp de réponses


1: Peu importe le programme de messagerie que vous utilisez (utilisation du serveur SMTP).
2: Peu importe la version Office que vous utilisez (97… 2007)
3: Vous pouvez envoyer une plage / une feuille dans le corps du message (certains programmes de courrier ne peut pas le faire)
4: Vous pouvez envoyer less fichier que vous voulez (Word, PDF, PowerPoint, fichiers TXT,….)
5: pas de warning, vraiment un plus si vous envoyez une grande quantité de courrier dans une boucle.

Vous devez être connecté à Internet lorsque vous lancez cette procédure.
http://www.rondebruin.nl/cdo.htm

voir aussi avec profit tout ce qui existe dans cette page :
Example Code for sending mail from Excel
http://www.rondebruin.nl/sendmail.htm








--
@+
;o)))

Avatar
Corto
Bonjour denis le breton,
Je pense que ton problème vient du fait que quand il y a plusieurs
destinataires, il ne faut pas les mettre dans la propriété To m ais les
ajouter 1 par 1 par la méthode .Recipients.Add(Destinataire).

Corto

Bjr, une question récurrente avec bcp de réponses mais contex te un peu
différent
Le contetxe
envoyer des mails depuis excel avec Outlook 2003 sous XP pro
- ce qui marche
génération du mail
- ce qui ne marche pas
envoi du mail (il reste dans la boite d'envoi) tant que outlook n'est p as
ouvert réellement (en clair excel est ouvert mais pas outlook)

- Les macros qui tournent
Sub SendMail_Outlook()
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Too ls /
Reference / Cocher "Microsoft Outlook Library"
suj = "Envoi automatique merci de ne pas répondre"
cont = "Veuillez trouvez en pièce jointe le fichier attendu"
adfic = "E:PersoNuit St Georges.xls"
adfic1 = "E:Persomode ss echec VISTA.txt"
dest = "; " 'plusieurs
destinataires séparés par un point virgule ;
'destcc = ""
destbcc = ""
Set myOlApp = CreateObject("Outlook.Application")
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = dest 'destinataire
.CC = destcc 'destinataire en copie
.BCC = destbcc 'destinataire en copie cachée
.Subject = suj 'le sujet du mail
.Body = cont 'le corps du mail
.Attachments.Add adfic 'la pièce jointe
.Attachments.Add adfic1 'une autre pièce jointe
'.Display ' pour visualiser le mail avant envoi
.Send ' pour envoyer le mail sans visualiser
'On peut switcher entre .send et .display selon que l'on veut envoyer l e
mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub
Sub Quit_Outlook()
'Demander à Excel de Quitter Outlook
Set myOlApp = CreateObject("Outlook.Application")
myOlApp.Quit
End Sub

Bien sûr, le sujet, le corps du message les pièces jointes le s destinataires
peuvent être passés en paramètre
Ps avec "YesXpress.msi" et "ClickYesSetup.exe" je n'ai pas de problà ¨me de
blocage

Mais comment ouvrir Outlook pour que les mail partent ?

Merci pour votre intérêt porté à ce sujet et les à ©ventuelles réponses
Denis



Avatar
denis le breton
Non ce problème n'est pas lié à la constitution du mail (destinataire unique
ou multiples, avec ou sans pièce jointe, mais au fait que Outlook n'est pas
actif , je cherche donc à activer Outlook (que je ferme après)
L'objectif est d'envoyer un mail (ou plusieurs pendant la nuit par tache
planifiée)
la tache ouvre un excel, avec une macro auto_open, la macro fait un
triatement, puis envoie le mail dans la foulée, excel se referme et le tour
est joué. Sauf que pour le moment je dois laisser Outlook ouvert pour que le
mail parte. D'ou ma question comment activer Outlook par VBA !
Merci pour la piste
Denis

Bonjour denis le breton,
Je pense que ton problème vient du fait que quand il y a plusieurs
destinataires, il ne faut pas les mettre dans la propriété To mais les
ajouter 1 par 1 par la méthode .Recipients.Add(Destinataire).

Corto

Bjr, une question récurrente avec bcp de réponses mais contexte un peu
différent
Le contetxe
envoyer des mails depuis excel avec Outlook 2003 sous XP pro
- ce qui marche
génération du mail
- ce qui ne marche pas
envoi du mail (il reste dans la boite d'envoi) tant que outlook n'est pas
ouvert réellement (en clair excel est ouvert mais pas outlook)

- Les macros qui tournent
Sub SendMail_Outlook()
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools /
Reference / Cocher "Microsoft Outlook Library"
suj = "Envoi automatique merci de ne pas répondre"
cont = "Veuillez trouvez en pièce jointe le fichier attendu"
adfic = "E:PersoNuit St Georges.xls"
adfic1 = "E:Persomode ss echec VISTA.txt"
dest = "; " 'plusieurs
destinataires séparés par un point virgule ;
'destcc = ""
destbcc = ""
Set myOlApp = CreateObject("Outlook.Application")
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = dest 'destinataire
.CC = destcc 'destinataire en copie
.BCC = destbcc 'destinataire en copie cachée
.Subject = suj 'le sujet du mail
.Body = cont 'le corps du mail
.Attachments.Add adfic 'la pièce jointe
.Attachments.Add adfic1 'une autre pièce jointe
'.Display ' pour visualiser le mail avant envoi
.Send ' pour envoyer le mail sans visualiser
'On peut switcher entre .send et .display selon que l'on veut envoyer le
mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub
Sub Quit_Outlook()
'Demander à Excel de Quitter Outlook
Set myOlApp = CreateObject("Outlook.Application")
myOlApp.Quit
End Sub

Bien sûr, le sujet, le corps du message les pièces jointes les destinataires
peuvent être passés en paramètre
Ps avec "YesXpress.msi" et "ClickYesSetup.exe" je n'ai pas de problème de
blocage

Mais comment ouvrir Outlook pour que les mail partent ?

Merci pour votre intérêt porté à ce sujet et les éventuelles réponses
Denis






Avatar
denis le breton
Le site de RDB est très complet et je l'ai visité ou survolé tant sa
complétude semble importante, toutefois je n'y pas trouvé la réponse car bien
que cela ne soit pas précisé l'hypothèse d'excel et de outlook ouvert est
bien présente.
Denis


Bonsour® denis le breton avec ferveur ;o))) vous nous disiez :

Bjr, une question récurrente avec bcp de réponses


1: Peu importe le programme de messagerie que vous utilisez (utilisation du serveur SMTP).
2: Peu importe la version Office que vous utilisez (97… 2007)
3: Vous pouvez envoyer une plage / une feuille dans le corps du message (certains programmes de courrier ne peut pas le faire)
4: Vous pouvez envoyer less fichier que vous voulez (Word, PDF, PowerPoint, fichiers TXT,….)
5: pas de warning, vraiment un plus si vous envoyez une grande quantité de courrier dans une boucle.

Vous devez être connecté à Internet lorsque vous lancez cette procédure.
http://www.rondebruin.nl/cdo.htm

voir aussi avec profit tout ce qui existe dans cette page :
Example Code for sending mail from Excel
http://www.rondebruin.nl/sendmail.htm








--
@+
;o)))





Avatar
Daniel.C
Bonjour.
Essaie :
Shell "OUTLOOK.EXE"
Cordialement.
Daniel
"denis le breton" a écrit dans le
message de news:
Le site de RDB est très complet et je l'ai visité ou survolé tant sa
complétude semble importante, toutefois je n'y pas trouvé la réponse car
bien
que cela ne soit pas précisé l'hypothèse d'excel et de outlook ouvert est
bien présente.
Denis


Bonsour® denis le breton avec ferveur ;o))) vous nous disiez :

Bjr, une question récurrente avec bcp de réponses


1: Peu importe le programme de messagerie que vous utilisez (utilisation
du serveur SMTP).
2: Peu importe la version Office que vous utilisez (97. 2007)
3: Vous pouvez envoyer une plage / une feuille dans le corps du message
(certains programmes de courrier ne peut pas le faire)
4: Vous pouvez envoyer less fichier que vous voulez (Word, PDF,
PowerPoint, fichiers TXT,..)
5: pas de warning, vraiment un plus si vous envoyez une grande quantité
de courrier dans une boucle.

Vous devez être connecté à Internet lorsque vous lancez cette procédure.
http://www.rondebruin.nl/cdo.htm

voir aussi avec profit tout ce qui existe dans cette page :
Example Code for sending mail from Excel
http://www.rondebruin.nl/sendmail.htm








--
@+
;o)))







Avatar
denis le breton
Merci Merci !
entre temps je m'étais orienté vers cette solution qui frise la simplicité
Voici la solution complète qui peut servir éventuellement à d'autre
'*****
Sub Auto_open() 'pour le lancement automatique
stAppName = "C:Program FilesMicrosoft OfficeOffice11OUTLOOK.EXE"
Call Shell(stAppName, 1)' pour l'ouverture d'outlook
suj = "Envoi automatique merci de ne pas répondre" 'le sujet du mail
cont = "Veuillez trouvez en pièce jointe le fichier attendu" 'le corps du mail
adfic = "E:PersoNuit St Georges.xls" 'la première pièce jointe
adfic1 = "E:Persomode ss echec VISTA.txt" ' la seconde pièce jointe (si
besoin)
dest = "; " ' les destinataires
'destcc = "" ' les destinataires en copie
destbcc = "" ' les destinataires en copie cachée
'ces variables peuvent être définies ailleurs ou prises dans des cellules
'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools /
Reference /
Cocher "Microsoft Outlook Library"
Set myOlApp = CreateObject("Outlook.Application")

Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String

Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
With olmail
.To = dest
.CC = destcc
.BCC = destbcc
.Subject = suj
.Body = cont
.Attachments.Add adfic
.Attachments.Add adfic1
'.Display
.Send
'On peut switcher entre .send et .display selon que l'on veut envoyer le
mail (send) ou seulement le préparer et le vérifier(display)
End With
' je patiente 5 minutes 'pour permettre l'envoi du mail
Application.Wait Now + TimeValue("0:05:00")

Set myOlApp = CreateObject("Outlook.Application")
myOlApp.Quit ' je ferme outlook
Set ApplicationExcel = Nothing 'Libère la mémoire
Application.Quit 'Quitte Excel
End Sub
'******


Bonjour.
Essaie :
Shell "OUTLOOK.EXE"
Cordialement.
Daniel