Bonjour à tous,
J'ai écrit ce code :
J'envoie le mail non pas par .send mais en utilisant les sendkeys (pour éviter le message de confirmation )
Ca fonctionne bien dans le cas où Outlook est déjà lancé...
Par contre dans le cas où Outlook n'est pas lancé... le sendkey se fait trop rapidement et l'email n'est pas envoyé... Comment faire pour demander de faire le sendkeys qu'une fois que Outlook est bien lancé (sans utiliser de timer) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 Sub Envoi_Mail() Dim eMail As Object Set eMail = CreateObject("Outlook.Application").CreateItem(olMailItem) With eMail .to = "moi@domaine.fr" .Subject = "Test mail auto" .Body = "Mail automatique" .Display '.Send 'je n'utilise pas cette fonction car message de confirmation apparaît End With SendKeys "^{ENTER}" 'Envoi du mail par les touches Ctrl + Enter Set eMail = Nothing 'Réinit End Sub Sub Ouvrir_Outlook() 'Lance Outlook en mode Hide : La fenêtre est masquée et activée Shell "OUTLOOK.EXE", vbHide End Sub Sub Test_Outlook_Run() 'Permet de tester si Outlook est lancé ou pas Dim OL As Object On Error Resume Next Set OL = GetObject(, "Outlook.Application") 'Cas si outlook n'est pas lancé If OL Is Nothing Then Ouvrir_Outlook Envoi_Mail 'Cas si outlook est lancé Else Envoi_Mail End If End Sub
Merci
A+
Dams'
Partager