Lecture URL

Bonjour

J'ai écrit une macro dans laquelle je vais lire une page web, par la fonction

"With ActiveSheet.QueryTables.Add(Connection:= "URL;" & AdresseURL, Destination:=Range("O1")"

Puis je vais y chercher des informations que je traite dans ma macro.

Par contre après plusieurs éxécutions de la macro, je m'aperçois que les accès au fichier excel (modif d'une case en manuel, etc...) sont de plus en plus longs.

Qui peut me dire d'où vient ce problème et comment peut-on le résoudre.

Merci.

Bonjour,

avec ces instructions tu ajoutes un nouveau query à chaque exécution.

tu devrais remplacer l'instruction

ActiveSheet.QueryTables.Add(Connection:= "URL;" & AdresseURL, Destination:=Range("O1")

par

ActiveWorkbook.Connections("nom_de_ton_query").Refresh

En soit ces instructions ne sont pas suffisantes, il manque le contexte pour te dire ce qu'il faut ajouter éventuellement.

Merci pour votre réponse. J'ai un peu de mal à tout comprendre.

L'instruction compléte est:

AdresseURL = ActiveCell.Hyperlinks(1).Address

With ActiveSheet.QueryTables.Add(Connection:= _

"URL;" & AdresseURL, Destination:=Range("O1"))

.Name = "cours.phtml?symbole=1rPLTA"

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlOverwriteCells

.SavePassword = False

.SaveData = True

.AdjustColumnWidth = False

.RefreshPeriod = 0

.WebSelectionType = xlEntirePage

.WebFormatting = xlWebFormattingNone

.WebPreFormattedTextToColumns = True

.WebConsecutiveDelimitersAsOne = True

.WebSingleBlockTextImport = False

.WebDisableDateRecognition = False

.WebDisableRedirections = False

.Refresh BackgroundQuery:=False

End With

Elle récupère la totalité de la page web et la met dans les cases O1 et suivantes (environn 450 lignes)

Moi j'ai besoion de la data qui se trouve en O100.

D'autre part qu'est ce que je mets sous "Nom-de_ma_query"

Merci

mmenfinn a écrit :

Merci pour votre réponse. J'ai un peu de mal à tout comprendre.

L'instruction compléte est:

AdresseURL = ActiveCell.Hyperlinks(1).Address

With ActiveSheet.QueryTables.Add(Connection:= _

"URL;" & AdresseURL, Destination:=Range("O1"))

.Name = "cours.phtml?symbole=1rPLTA"

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.BackgroundQuery = True

.RefreshStyle = xlOverwriteCells

.SavePassword = False

.SaveData = True

.AdjustColumnWidth = False

.RefreshPeriod = 0

.WebSelectionType = xlEntirePage

.WebFormatting = xlWebFormattingNone

.WebPreFormattedTextToColumns = True

.WebConsecutiveDelimitersAsOne = True

.WebSingleBlockTextImport = False

.WebDisableDateRecognition = False

.WebDisableRedirections = False

.Refresh BackgroundQuery:=False

End With

Elle récupère la totalité de la page web et la met dans les cases O1 et suivantes (environn 450 lignes)

Moi j'ai besoion de la data qui se trouve en O100.

D'autre part qu'est ce que je mets sous "Nom-de_ma_query"

Merci

Bonjour,

tu peux trouver le nom de la query, dans le menu données (data), connexion (connections), tu devrais y trouver la liste de toutes les queries que tu as créées (et leur nom).

pour t'aider, j'ai besoin de ce nom, le fichier serait encore mieux..

Je ne dois pas avoir la même version d'excel.

Dans le menu "Données", j'ai "Données externes" mais pas "Connection".

Dans "Données externes" j'ai:

  • importer des données
  • Nouvelle requête sur le web(celle dont je me suis servi)
  • Créer une requête
Et ma version d'excel est "Excel 2003" et non pas 97 comme je l'ai signalé (désolé)

rebonjour,

désolé, disposant d'une version UK, difficile de te dire précisément à quoi correspondent ces menus dans les versions FR.

Ce serait quand même plus simple avec un fichier.

Ok

Je prépare un fichier et je l'envoie demain.

Merci

Bonsoir

Je mets un fichier en pièce jointe. Je l'ai simplifié à l'extrème.

merci de votre aide.

Cordialement


Je crois que j'ai oublié le fichier

29pour-essai-macro.xlsm (143.16 Ko)

Bonsoir,

j'ai modifié ta macro pour supprimer le query après qu'il a été utilisé.

tu trouveras aussi une macro pour supprimer tous les queries qui ont été ajoutés précédemment.

Bonjour

Merci. Je testerai chez moi ce soir.

Je ne peux pas dans la journée, je n'ai pas la même version excel.

Je vous tiens au courant.

Encore merci.

Rechercher des sujets similaires à "lecture url"