Bonjour,
Grâce à l'aide de d3d9x (un immense merci à lui), j'ai pu lire des données sur une page web.
Aujourd'hui, encore une fois, je dois me procurer des données officielles et les traiter avec Excel. En fait, je dois récupérer les données du tableau avec Janvier, Février etc sur la page suivante : http://www.cnr.fr/Indices-Statistiques/Espace-Gazole/Indicateurs-Gazole-France/Prix-CNR-gazole-cuve-moy.-mens#haut
Mon code ressemble à ça (entièrement copié sur d3d9x) :
Sub extraction()
On Error GoTo sortie:
Dim url As String: url = "http://www.cnr.fr/Indices-Statistiques/Espace-Gazole/Indicateurs-Gazole-France/Prix-CNR-gazole-cuve-moy.-mens#haut"
Dim element As Object, souselement As Object
Dim IEDoc As HTMLDocument
Dim IE As New InternetExplorer
IE.navigate url
IE.VISIBLE = True
Do While IE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set IEDoc = IE.document
Set element = IEDoc.getElementsByTagName("tbody").Item(0)
Dim numLigne As Integer, numColonne As Integer
For numLigne = 0 To element.Children.Length - 1
Debug.Print numLigne
Set souselement = element.Children.Item(numLigne)
For numColonne = 0 To souselement.Children.Length - 1
Cells(numLigne + 1, numColonne + 1).Value = souselement.Children.Item(numColonne).innerText
Next numColonne
Next numLigne
'libération de la mémoire
Set IEDoc = Nothing
IE.Quit
Set IE = Nothing
MsgBox "terminé sans erreur"
Exit Sub
sortie:
Set IEDoc = Nothing
IE.Quit
Set IE = Nothing
MsgBox "Erreur. Vérifiez votre connexion à Internet"
End Sub
Cependant, si on l'essaye sur un fichier excel, on se retrouve avec quelques données certes mais mal organisées en un seule ligne et en plus les données commencent à partir de Juin 2011.
Je ne connais vraiment que très peu le JavaScript, c'est la raison pour laquelle je pense que le code ne fonctionne pas bien car la notion de parent etc n'est pas respectée.
Merci d'avance si vous pouvez m'apporter votre aide.
Fichier test en PJ.
Cordialement.