index en dehors des limites du tableau
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.
Code:
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 |
le code de la page HTML est globalement de cette forme (en élaguant pour que ce soit plus clair) :
Code:
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.