Bonjour à tous,
J'ai parcouru quelques forums à la recherche d'une solution mais je n'arrive pas à en trouver.
Je vais brièvement expliquer mon problème:
Je cherche à extraire un tableau d'une page web. Jusque là tout va bien mais je rencontre 2 problèmes:
- les chiffres sont censés avoir des virgules et ils sont reportés sans virgules dans mon tableau
- j'ai des valeurs qui apparaissent avec un saut de ligne (ceux qui sont entre les balises <td class="high-rouge ou vert">).
Comment je pourrais faire pour avoir tous les nombres du même format pour que je puisse faire un graphique.
Voici ma macro en question:
Voici en lien un exemple de tableau http://investir.lesechos.fr/cours/hi...0404,isin.html
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Sub Importer_tableau() Dim IE As InternetExplorer Dim maPageHtml As HTMLDocument Dim Htable As IHTMLElementCollection Dim maTable As IHTMLTable Dim j As Integer, i As Integer Set IE = CreateObject("InternetExplorer.Application") IE.Visible = False Select Case MsgBox("Bonjour, vous allez être renvoyé vers une liste de cours, veuillez rentrer l'URL du cours qui vous intéresse dans la fenêtre suivante (cours puis historique)", vbOKCancel, "Niveaux de Fibonacci") Case vbOK Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True IE.navigate "http://investir.lesechos.fr/actions/cotations/cours-az.html" URL = Application.InputBox("Veuillez copier l'URL ici", "Niveaux de Fibonacci", "") Case vbCancel Exit Sub End Select IE.navigate URL Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop Set maPageHtml = IE.document Set Htable = maPageHtml.getElementsByTagName("table") 'objet type table Set maTable = Htable(0) 'premier tableau dans la page Web For i = 1 To maTable.Rows.Length 'boucle sur toutes les lignes du tableau For j = 1 To maTable.Rows(i - 1).Cells.Length 'boucle sur les cellules dans chaque ligne Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText Next j Next i End Sub
Merci d'avance pour vos réponses
Partager