Bonjour

Je voudrais récuperer des données financières a partir d'un site internet, qui s'actualise toutes les deux secondes.

J'ai fait un programme en VBA. Ce programme consiste a rafraichir toutes les 2 secondes la page internet. Le problème est que ca sature tres vite. Au bout de 15 minutes, le rafraichissement de la page internet est long, (sachant qu'il doit fonctionner pendant 10 heures, ca me semble difficile de faire comme ca)
J'utilise Internet explorer, qui fatigue au bout de 10 minutes

Pensez vous que ce soit possible de faire ca en VBA.
Le PHP est il plus adapté pour ca?

Pour ceux qui savent coder en vba, mon programme est celui la:

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
39
40
41
42
43
Sub ConnectionIE()
    Dim IE As New SHDocVw.InternetExplorer
    Dim ietxt As String
    Dim htmlDoc As Mshtml.HTMLDocument
    Dim ddd As Mshtml.HTMLTextElement
 
    Set IE = New SHDocVw.InternetExplorer
    IE.Navigate2 "http://finance.yahoo.com/q?s=%5EFCHI"
    '"http://finance.google.com/finance?q=INDEXNIKKEI:.N225"
    IE.Visible = True
    Set htmlDoc = IE.document
    While Not htmlDoc.readyState = "complete"
    Wend
       For i = 1 To 300000
       Set htmlDoc = IE.document
           IE.Refresh2
           IE.Visible = False
 
            While Not htmlDoc.readyState = "complete"
          ' IE.Visible = True
            Wend
 
IESource = htmlDoc.documentElement.innerHTML 'récupère le code source de la page HTML
 
dd = Left(IESource, 30000)
 
 
 ZZZ = WorksheetFunction.Find("yfs_l10_^fchi", dd, 1)
 
  z = Mid(IESource, ZZZ + Len("yfs_l10_^fchi") + 1, 8)
 
    nblignes = Range("A1").End(xlDown).Row
    Range("A1").Offset(nblignes, 0) = Trim(z)
   Range("A1").Offset(nblignes, 0).Activate
      Range("A1").Offset(nblignes, 2) = CStr(Minute(Now()))
     Range("A1").Offset(nblignes, 3) = CStr(Second(Now()))
 Set htmlDoc = Nothing
 
Next i
 Range("C1") = Range("C1") + 1
IE.Quit
Set IE = Nothing
 End Sub