Bonjour,

Depuis plusieurs semaines, j’essaie en vain de lire avec VBA une page Web contenant du Javascript modifiant la structure DOM du document suivant les évènements de click ou sélection dans des boites de sélection que fait l’internaute sur la page.

Je précise que je travaille en environnement Visual Basic Editor d’Excel 2002 SP3 ou 2003 (sur pc différents) , que j’ai chargé les références VBA, Microsoft Internet Controls, Microsoft HTML Object Library.

Voici le code :

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
Dim valeur as String
Dim lien as HTMLOptionElement
Dim …
 
 
Set IE = New InternetExplorer
IE.Visible = True
 
IE.Navigate2 "http://...."
If Timer(IE) = False Then GoTo Error_Timer
 
Set htmldoc = IE.document
' premier problème: le code javascript intégré dans la page Web est un peu long à s'exécuter il faut donc que je temporise pour que la page html apparaisse correctement à l’écran avant d’initialiser correctement la variable htmldoc. 
 
k = 0
For Each pageelement In htmldoc.getElementsByTagName("OPTION")
           If k = 0 And pageelement.innerText = valeur Then
                         Set lien = pageelement
		k = 1
            End If
Next pageelement
lien.Selected = True
La selection a bien lieu sur la page Web mais la case à cocher qui devrait apparaître du fait de Javascript n’apparaît pas !!!! J’ai vérifié dans le code source ; il n’y a pas d’élement HTML relatif à cette case à cocher.. par contre si je le fait à la main sur la page Web sans passer par VBA, alors l’élément HTML est bien dans le code source.

Même problème avec une ancre qui a une image qui apparaît si on click dessus :il faut alors clicker sur l’image sous jacente de l’ancre (2ième click) pour déclencher l’évènement:la page s’actualise suivant des paramètres liés à l’ancre

Merci pour ceux qui pourront m’aider pour résoudre ce problème. Ou ‘indiquer des pistes de recherche

Cordialement