Bonjour à tous,
Avec cette macro, Je voudrais (Si cela est possible bien-sûr !):
1) Que le code me connecte à mon compte Yahoo!mail.
2) Que le code accède à mes mails (Clic bouton "Mail").
3) Que le code ouvre un nouveau mail (Clic bouton "Ecrire").
4) Que le code ajoute du texte pré-défini dans le corps du nouveau mail.
5) Que le code ajoute 1 pièce jointe au nouveau mail.
Le code ci-dessous s'arrête sur la ligne rouge.
Le mot de passe (Password) ne s'affiche pas dans l'élément textbox de la page web 2...
Petite explication du login chez Yahoo!:
Page web 1:
a) On rentre sont UserName.
b) On clique sur le bouton "Suivant".
Page web 2:
a) On rentre son Password.
b) On clique sur le bouton "Se connecter".
On dirais qu'au changement de page, "IEObjectElement" ne fonctionne plus...
Du coup, n'y aurait-il pas un souci avec "Set IEDoc = IE.Document" qui ne se réactualiserai pas en basculant sur la deuxième page web ???
Une piste peut-être ???
Un petit coup de main s'il vous plait, je suis perdu !!!![]()
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128 eclare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Global Const SW_MAXIMIZE = 3 Global Const SW_SHOWMINIMIZED = 2 Global Const SW_SHOWNORMAL = 1 Sub LoginYahooMail() ' ' LoginYahooMail Macro ' ' Dim IE As New InternetExplorer Dim IEDoc As HTMLDocument Dim IEObjectElement As HTMLObjectElement Dim URL As String Dim UNElementID As String Dim PWElementID As String Dim SIElementID As String Dim BoutonMailElementID As String Dim BoutonEcrireElementID As String Dim UserName As String Dim Password As String Dim mMessage As Object Dim mConfig As Object Dim mChps URL = "https://login.yahoo.com" UNElementID = "login-username" PWElementID = "login-passwd" SIElementID = "login-signin" BoutonMailElementID= "mega-bottombar-mail" BoutonEcrireElementID = "paneshell" UserName = "nom d'utilisateur @yahoo.fr" Password = "mot de passe" Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True apiShowWindow IE.hWnd, SW_MAXIMIZE 'Navigue jusqu'à l'URL. IE.Navigate URL 'Attend que la page web soit totalement chargée. Do Until IE.readyState = 4 'READYSTATE_COMPLETE in early binding DoEvents Loop 'Créer le document de l'URL. Set IEDoc = IE.Document 'Recherche le UserName TextBox en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(UNElementID) IEObjectElement.Value = UserName Set IEObjectElement = Nothing 'Clique sur le Bouton "Suivant" en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(SIElementID) IEObjectElement.Click 'Attend que la page web soit totalement chargée. Do Until IE.readyState = 4 'READYSTATE_COMPLETE in early binding DoEvents Loop Application.Wait (Now + TimeValue("0:00:03")) 'Retarde de 03 secondes l'exécution de la suite du code... 'Créer le document de l'URL. Set IEDoc = IE.Document 'Recherche le Password TextBox en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(PWElementID) IEObjectElement.Value = Password Set IEObjectElement = Nothing 'Clique sur le Bouton "Se connecter" en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(SIElementID) IEObjectElement.Click 'Clique sur le bouton "Mail" en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(BoutonMailElementID) IEObjectElement.Click 'Clique sur le bouton "Ecrire" en utilisan l'élement ID. Set IEObjectElement = IEDoc.getElementByid(BoutonEcrireElementID) IEObjectElement.Click Set mMessage = CreateObject("CDO.Message") With mMessage Set .Configuration = mConfig .From = "xxxxx.xxxxx@yahoo.fr" .To = Range("R33").Value .Cc = "" .Subject = "" .TextBody = "Bonjour " & Range("I8").Value & "," & vbCrLf _ & vbLf _ & vbLf _ & vbLf _ & "Cordialement." & vbCrLf _ & vbLf _ & vbLf _ & "Mr xxxxx xxxxx" _ & vbLf _ & vbLf _ & vbLf .AddAttachment "C:\Users\xxxxx xxxxx\Documents\Conditions Commerciales.pdf" End With 'Vide les variables object. Set IEObjectElement = Nothing Set IEDoc = Nothing Set IE = Nothing Set mMessage = Nothing Set mConfig = Nothing Set mChps = Nothing End Sub
Partager