Bonjour,
Le problème est de simuler le choix d’une case sur une page web avec visual bassic.
L’exercice vient du site http://qwazerty.developpez.com/tutor...-et-vba-excel/
Section IV-L-1 intitulé : Trajet direct.

Nom : sncf.png
Affichages : 648
Taille : 78,7 Ko

Code source de la page web,

Nom : codesoucedelapageweb.png
Affichages : 609
Taille : 72,9 Ko

Programme vba
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
Sub caseacocher()
 
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim CaseDirect As HTMLInputElement
 
'Chargement d'une page Web Google
IE.navigate "http://www.voyages-sncf.com/billet-train"
 
'Affichage de la fenêtre IE
IE.Visible = True
 
'On attend le chargement complet de la page
WaitIE IE
 
'On pointe le membre Document
Set IEDoc = IE.document
 
'On pointe la case à cocher
Set CaseDirect = IEDoc.all("DIRECT_TRAVEL_CHECK")
 
'On simule un clic sur la case à cocher
    CaseDirect.Click
 
   'On attend la fin de la recherche
   WaitIE IE
 
   'On libère les variables
   Set IE = Nothing
   Set IEDoc = Nothing
End Sub
 
 
Sub WaitIE(IE As InternetExplorer)
   'On boucle tant que la page n'est pas totalement chargée
   Do Until IE.readyState = READYSTATE_COMPLETE
      DoEvents
   Loop
End Sub
Le but, on va sur le site de la sncf, on ouvre la page web, et on simule la case à cocher de « trajet direct ». Cet exercice fonctionne très bien, mais quand je le transpose à ce que je veux faire (vir ci-dessous) ça ne fonctionne plus d’où mon étonnement ! Le code erreur est

“run-time error ‘91’ : Object variable or with block not set.”

Le programme consiste à choisir cac40 (cocher la case cac40)

Nom : pagecac40.png
Affichages : 728
Taille : 117,1 Ko

Programme vba
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
Sub RechercheVBAExcel()
 
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim CaseDirect As HTMLInputElement
 
   'Chargement d'une page Web Google
   IE.navigate "http://www.abcbourse.com/download/historiques.aspx"
 
   'Affichage de la fenêtre IE
   IE.Visible = True
 
   'On attend le chargement complet de la page
   WaitIE IE
 
   'On pointe le membre Document
   Set IEDoc = IE.document
 
    'On pointe la case à cocher
    Set CaseDirect = IEDoc.all("ct100_BodyABC_xcac40p")
 
   'On simule un clic sur la case à cocher
   CaseDirect.Click
 
   'On attend la fin de la recherche
   WaitIE IE
 
   'On libère les variables
   Set IE = Nothing
   Set IEDoc = Nothing
End Sub
 
 
Sub WaitIE(IE As InternetExplorer)
   'On boucle tant que la page n'est pas totalement chargée
   Do Until IE.readyState = READYSTATE_COMPLETE
      DoEvents
   Loop
End Sub
c'est le même programme, alors pourquoi cette erreur
“run-time error ‘91’ : Object variable or with block not set.”
Merci de votre aide