Bonjour
j'ai une erreur lors de l'exécution de mon code VBA qui va chercher des informations en lecture seulement sur l'intranet de mon entreprise.
le code de la page HTML est globalement de cette forme (en élaguant pour que ce soit plus clair) :
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 Public Sub récupère_données() Dim driver As New WebDriver Dim mysheet As Worksheet driver.Start "firefox" ' démarrage de firefox driver.Get "http://..." 'connexion à l'intranet de l'entreprise driver.Wait 200 ' on attend que la page se charge totalement driver.FindElementById("spanLinkActiver").Click 'clique sur le bouton de confirmation driver.Wait 2000 ' on attend que la page se charge totalement 'récupération des valeurs de l'onglet 'identification' nom = driver.FindElementsByClass("borderless").Item(3).FindElementsByCss("td").Item(12).Text contexte = driver.FindElementsByClass("borderless").Item(1).FindElementsByCss("td").Item(3).Text contact = driver.FindElementsByClass("borderless").Item(3).FindElementsByCss("td").Item(3).Text etc.... end sub
Code html : 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 <div class=col-xs-12 col-sm-6> <div xlass=shade> <table class = table borderless> 'sachant qu'il y a 3 <table class = table borderless> au total dans la page web. <tbody> <tr> <th> Nom du projet1</th> <td> projet1</td> </tr> <tr> <th> Nom du projet2</th> <td> projet2</td> </tr> <tr> <th> Nom du projet12</th> <td> projet12</td> </tr>
Mon problème est le suivant :
quand j'exécute le code (F5) je tombe sur l'erreur suivante : Erreur d’exécution ‘-2146233080 (80131508)’ : l’index se trouve en dehors des limites du tableau
Et quand je passe en mode débuggage avec exécution en pas à pas (F8) ca fonctionne et je récupère bien les bonnes valeurs .... Pourquoi ? comment résoudre le pb d'exécution normal (F5) ?
si au passage quelqu'un sait comment ouvrir firefox sous forme d'un seul onglet au lieu de 2 ca serait un plus intéressant pour moi
merci de votre aide.
Partager