Bonjour à tous,
On me demande de récolter des informations sur un site hippique.
Je voulais mécaniser la logique mais je rencontre un problème sur la saisie des données pour se signer. (donc tout au début des opérations).
J'obtiens un message d'erreur 438 "propriété ou méthode non gérée par cet objet" et je ne comprends pas pourquoi. Voici mon code :
Je lance le sub TestConnexionIE, tout se déroule bien jusqu'à l'instruction :
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 Type AuthFormDef ' Adresse à atteindre URL As String ' Action du formulaire d'identification FormAction As String ' Nom du champ qui demande le nom d'utilisateur UserField As String ' Nom du champ qui demande le mot de passe PasswordField As String ' Nom du champ qui demande le jour de naissance JourField As String ' Nom du champ qui demande le mois de naissance MoisField As String ' Nom du champ qui demande l'année de naissance AnneeField As String ' Valeur du champ Utilisateur UserValue As String ' Valeur du champ Mot de passe PasswordValue As String ' Valeur du champ jour de naissance JourValue As String ' Valeur du champ mois de naissance MoisValue As String ' Valeur du champ année de naissance AnneeValue As String End Type ' --- ' CONNEXION A INTERNET EXPLORER AVEC IDENTIFIANT / MOT DE PASSE ' --- Function ConnexionIE(afd As AuthFormDef) As Boolean Dim ie As Object Dim doc As MSHTML.HTMLDocument Dim frm As MSHTML.HTMLFormElement Dim blnFormOK As Boolean Dim obj As Object ' Démarrer et afficher Internet Explorer On Error GoTo ConnexionIEErr Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ' Naviguer vers la page et attendre qu'elle soit chargée ie.navigate afd.URL While ie.Busy DoEvents Wend ' Récupérer l'objet Document affiché Set doc = ie.Document ' Identifier le formulaire demandé blnFormOK = False For Each frm In doc.Forms If frm.Action = afd.FormAction Then blnFormOK = True ' Trouver et renseigner les champs Identifiant/Mot de passe ' du formulaire For Each obj In frm.elements If obj.Name = afd.UserField Then obj.Value = afd.UserValue If obj.Name = afd.PasswordField Then obj.Value = afd.PasswordValue If obj.Name = afd.JourField Then obj.Value = afd.JourValue If obj.Name = afd.MoisField Then obj.Value = afd.MoisValue If obj.Name = afd.AnneeField Then obj.Value = afd.AnneeValue Next ' Forcer l'envoi du formulaire frm.submit ConnexionIE = True End If Next ' Valeur de retour ConnexionIE = blnFormOK Exit Function ConnexionIEErr: MsgBox "Erreur : " & Err.Number & vbCrLf _ & Err.Description, vbExclamation ConnexionIE = False Exit Function End Function ' --- ' TEST DU FORMULAIRE D'IDENTIFICATION ' --- Sub TestConnexionIE() Dim afd As AuthFormDef ' Paramètres de la connexion With afd .URL = "http://www.zeturf.fr" .FormAction = "https://www.zeturf.fr/fr/accueil/" .UserField = "login" .PasswordField = "password" .JourField = "jour" .MoisField = "mois" .AnneeField = "annee" .UserValue = "amateursf" .PasswordValue = "Gmarie06" .JourValue = "21" .MoisValue = "04" .AnneeValue = "1948" End With ' Lancer la connexion If ConnexionIE(afd) Then MsgBox "Connexion établie !", vbInformation Else MsgBox "Echec de la connexion", vbExclamation End If End Sub
If obj.Name = afd.UserField Then obj.Value = afd.UserValue qui provoque l'anomalie citée ci-dessus.
Quelqu'un pourrait-il m'aider SVP ?
Merci par avance
Partager