Bonjour à tous,
j'ai adapté une macro trouvé sur le net pour récupérer des histo d'actions sur google finance.
Comme j'ai besoin de mettre à jour un grand nombre d'actions, j'ai fait une boucle qui tourne sur une liste définie dans un onglet.
La requête est la suivante :
--------
------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 With DataSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("a1")) .BackgroundQuery = True .TablesOnlyFromHTML = False .Refresh BackgroundQuery:=False .SaveData = True End With
Sans rentrer dans les détails du reste du code, mon problème est que lorsque j'exécute la macro pas à pas, tout fonctionne parfaitement. Je récupère, je colle dans ma feuille, je boucle, je récupère... parfait !
En revanche, en exécution automatique, ça freeze XL que je ne peux plus récupérer. Je dois le killer avec le gestionnaire.
De la même façon, si je mets un stop n'importe où au milieu de la boucle, en exécution automatique, tout va bien. Le code s'arrête sur le stop, je relance, ça boucle s'arrête à nouveau sur le stop.... indéfiniment.
Je supprime le stop.... ça plante.
J'ai pensé que le stop ménageait une pause nécessaire. J'ai tenté de mettre un wait de quelques secondes équivalent à la pause manuelle mais non. Idem avec une fonction sleep.....
Est-ce un problème de requête qu'il faut fermer d'une certaine façon ou libérer une variable ou objet.. ?
Bref, j'ai besoin de vos lumières les experts !!
Merci de votre aide
Partager