Bonjour à tous,
J'ai crée un fichier qui exécute des requêtes web dans une boucle while/wend.
Mon problème est que la macro est trop rapide et les traitements que je fais à la suite de cette requête se font dans le vide puisque les données n'ont pas encore été actualisées.
Existe-il une solution?
J'ai essayé avec sleep mais cela bloque l'actualisation.
Je vous joint le code
Sub test4()
p = 21
While Sheets("synthèse").Cells(p, 2) <> ""
Dim code As String
Dim shdonnées As Worksheet
Set shdonnées = Sheets.Add(After:=Sheets(Sheets.Count))
shdonnées.Name = "données"
code = Sheets("Synthèse").Cells(p, 3)
Open "c:\Users\Mathieu\Documents\Requête web bours\requ.iqy" For Output As #1 'crée fichier texte
'inscrit le texte de la requête
Print #1, "WEB" & Chr(10) & "1" & Chr(10) & "http://www.boursorama.com/cours.phtml?symbole=1r" & code
Close #1 'ferme le fichier texte
Sheets("données").QueryTables.Add("FINDER;c:\Users\Mathieu\Documents\Requête web bours\requ.iqy", Sheets("données").Range("A1")).Refresh
Kill "c:\Users\Mathieu\Documents\Requête web bours\requ.iqy" 'supprime le fichier texte
Sleep (60000)
Set shdonnées = Nothing
Worksheets("données").Delete
p = p + 1
Wend
End Sub
Dans l'attente de vos réponses
J'ai crée un fichier qui exécute des requêtes web dans une boucle while/wend.
Mon problème est que la macro est trop rapide et les traitements que je fais à la suite de cette requête se font dans le vide puisque les données n'ont pas encore été actualisées.
Existe-il une solution?
J'ai essayé avec sleep mais cela bloque l'actualisation.
Je vous joint le code
Sub test4()
p = 21
While Sheets("synthèse").Cells(p, 2) <> ""
Dim code As String
Dim shdonnées As Worksheet
Set shdonnées = Sheets.Add(After:=Sheets(Sheets.Count))
shdonnées.Name = "données"
code = Sheets("Synthèse").Cells(p, 3)
Open "c:\Users\Mathieu\Documents\Requête web bours\requ.iqy" For Output As #1 'crée fichier texte
'inscrit le texte de la requête
Print #1, "WEB" & Chr(10) & "1" & Chr(10) & "http://www.boursorama.com/cours.phtml?symbole=1r" & code
Close #1 'ferme le fichier texte
Sheets("données").QueryTables.Add("FINDER;c:\Users\Mathieu\Documents\Requête web bours\requ.iqy", Sheets("données").Range("A1")).Refresh
Kill "c:\Users\Mathieu\Documents\Requête web bours\requ.iqy" 'supprime le fichier texte
Sleep (60000)
Set shdonnées = Nothing
Worksheets("données").Delete
p = p + 1
Wend
End Sub
Dans l'attente de vos réponses