Macro Outlook - Mail automatique [Fermé]

Signaler
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019
-
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019
-
Bonjour,

J'ai monté la macro (voir en dessous de mon message) pour la création de mail automatique.

Un souci : lorsque Outlook est fermé, aucun problème.
Par contre quand Outlook est ouvert, la macro referme Outlook, me créé mon message, puis referme tout.
J'avais que j'ai la tête dans le guidon et que je n'arrive pas à prendre de recul, je ne suis pas contre un avis extérieur.

Merci par avance :)



Sub Exercice_Plasfort_Niv2_Début()

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim Appli As Object
Dim SessionOutlook, myolapp
Const Chemin As String = "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.exe"

'Fermeture de Outlook
Set myolapp = CreateObject("Outlook.Application")
myolapp.Quit

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

'Ouverture de Outlook
myolapp = Shell(Chemin, 1)

'Corps du message
strbody = "Bonjour," & vbCrLf & " " & vbCrLf & _


'Destinataires et objet du mail
With OutMail
.To = "machin@gmail.com"
.CC = "machin@gmail.com"
.BCC = "machin@gmail.com"
.Subject = "EXERCICE"
.Body = strbody
.Display
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub

2 réponses

Messages postés
15271
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 août 2020
1 326
Bonjour,
fermeture d'OUTLOOK: c'est ecrit dans le code
Quel est votre probleme ???
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019

Bonjour,

Voici mon problème
"Un souci : lorsque Outlook est fermé, aucun problème.
Par contre quand Outlook est ouvert, la macro referme Outlook, me créé mon message, puis referme tout. "

Donc quand Outlook est ouvert, il se referme, se rouvre, créé le message puis se referme. Donc obligation de relancer la macro pour que ce soit fonctionnel.
Messages postés
15271
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 août 2020
1 326
Bonjour,

Cette macro est dans le VBA de quel logiciel????
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019

Cette macro sera utilisée dans des moments de stress et d'urgence avec nécessité d'envoyer des mails de compte-rendu de situation. Ils seront envoyés par des gens peu à l'aise avec l'informatique. D'où ma démarche de leur simplifier la vie au maximum via cette macro. Ils n'auront plus qu'à taper leur message.
Donc effectivement j'y ai pensé, mais dans des moments de précipitation, ce ne sera pas un réflexe que de fermer Outlook.
D'où ma demande à l'aide.
Messages postés
15271
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 août 2020
1 326
Re,
J'ai trouve, Outlook sera ferme a la prochaine execution de la procedure.
Mais, comme je l'ai ecrit precedement, Outlook se ferme tout seul apres l'envoi et cet envoi ne peut se faire qu'avec le clic sur l'enveloppe Envoyer!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Donc comment se fait-il que OUTLOOK reste ouvert?????????????????????????????????????????

Sub Exercice_Plasfort_Niv2_D?but()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim Appli As Object
    Dim SessionOutlook, myolapp

    'Fermeture de Outlook
    Call KillProcess("OUTLOOK.exe")
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    'Corps du message
    strbody = "Bonjour," & vbCrLf & " " & vbCrLf
    'Destinataires et objet du mail
    With OutMail
        .To = "machin@gmail.com"
        .CC = "machin@gmail.com"
        .BCC = "machin@gmail.com"
        .Subject = "EXERCICE"
        .Body = strbody
        .Display        'ouvre Outlook
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

'https://www.commentcamarche.net/forum/affich-6728882-comment-fermer-outlook-de-puis-word-en-vba
Public Sub KillProcess(ByVal ProcessName As String)
    Dim ovc As Object
    Dim sQuery As String
    Dim oproc
    
    Set ovc = GetObject("winmgmts:root\cimv2")
    sQuery = "select * from win32_process where name='" & ProcessName & "'"
    For Each oproc In ovc.execquery(sQuery)
        oproc.Terminate
    Next
    Set ovc = Nothing
End Sub
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019

Bonjour,

Merci pour ce retour.

Avec cette macro, Outlook se ferme mais ne s'ouvre plus. Seul le mail à envoyer s'ouvre. Donc si outlook fermé = mail qui ne partira pas (seulement lorsqu'on l'aura ouvert...)

Mon but est le suivant :
- Si outlook fermé :
  • Ouverture de Outlook
  • Création du mail

-Si outlook ouvert :
  • Fermeture de Outlook
  • Ouverture de Outlook
  • Création du mail


Voilà...
Messages postés
15271
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 août 2020
1 326
Bonjour,

Chez moi ca marche sans probleme avec le code que j'ai ecrit et ca respecte bien ce que vous voulez!!!!!!!!!!!

Vous avez quelle version OFFICE ?
Messages postés
16
Date d'inscription
vendredi 23 février 2018
Statut
Membre
Dernière intervention
3 mai 2019

Office365