VBA excel = extraire les données d'un tableau d'un site internet en PHP
Bonjour à tous,
Comme évoqué dans l'intitulé je cherche à extraire avec un prog en VBA sur excel les données d'un tableau se trouvant sur un site internet en PHP.
Tout d'abord le tableau ne se trouvant pas sur la première d'accueil du site la première chose que j'ai fais est de simuler un clic sur un lien afin d'arriver sur la page ou se trouve le tableau. J'y suis arrivé sans trop de problème.
Ensuite j'ai trouvé à l'aide du code source du site que les données de mon tableau se trouvaient dans un élément "HTMLtable". Par conséquent j'ai donc déclarer une variable HTML table et j'ai ensuite introduit le contenu voulu dans cette variable.
J'ai ensuite extrait le contenu texte de cette variable dans une cellule de ma feuille excel. => range("A1")=variable.innerText.
Problème : il est difficile voir inexploitable d'utiliser le texte présent dans la cellule, en effet il y a beaucoup de caractères pour une même cellule et des saut de ligne entre chacun d'entre eux(Alt+enter). Je ne peux donc pas utiliser l'outil prévu dans excel qui convertit un texte en colonne afin de trier ce dont j'ai besoin.
Au final tout ce que je veux faire c'est uniquement extraire quatre lignes d'un tableau qui compte uniquement 15 colonnes. Les données sont des nombres entiers. Le problème principal c'est que chaque donnée pris indépendamment dans le code source n'a ni name ni ID pour venir les chercher de façon "individuel".
Pouvez vous me dire comment je pourrais faire pour sortir uniquement les données voulues dans une seul cellule ou mieux encore de transférer mes 4 lignes x 15 données dans une plage de 4 x 15 cellules sur excel?
J'espère avoir été assez clair.Merci par avance pour votre aide.
Code:
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
| Sub info()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim A As HTMLDocument
Dim B As HTMLDocument
Dim Link As HTMLLinkElement
Dim PO As HTMLTable
'Chargement d'une page web Google
IE.navigate "http://www.pronostics-turf.info/fg-pronostics-presse.php"
'Affichage de la fenêtre IE
IE.Visible = True
WaitIE IE
Set A = IE.document
'lien vers la page synthèse
Set Link = A.Links(6) 'la table se trouve dans la page chargé lorsque qu'on appuie sur le bouton syntèse qui est le lien n°7
Link.Click
WaitIE IE
Set B = IE.document
Set PO = B.body.all(56)
Range("A1") = PO.innerText
Set A = Nothing
Set B = Nothing
Set PO = Nothing
Set Link = Nothing
IE.Quit
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 |
Cldt
Alexandre