Automatiser URL pour récupérer données
Bonjour à tous,
Je suis débutante en VBA et depuis ce matin j'essaye de m'en sortir mais là j'ai besoin de conseils avisés.
Pour le moment, je suis allée récupérer des informations sur une seule page web et j'ai récupérer les URL des pages web dont je souhaite extraire les données qui m'intéressent. Donc cette étape là est ok.
Maintenant j'aimerais automatiser l'URL dans ma fonction extraire des données du web. C'est-à-dire qu'au lieu de rentrer l'adresse à chaque fois j'aimerais lui dire que l'adresse se trouve dans la colonne B de la feuille 2. Et j'aimerais qu'il aille chercher sur toutes les adresses contenues dans la colonne B.
Ensuite, j'aimerais récupérer les données qui m'intéressent en ligne à côté de chaque URL.
Merci beaucoup pour votre aide
J'ai peut-être mal exprimé ma demande...
J'aimerais:
1- Automatiser l'URL en lui disant qu'elles se trouvent dans la colonne B.
2- J'aimerais créer une boucle pour qu'il aille chercher dans l'URL se trouvant en B1 puis en B2 puis en B3....
3- J'aimerais extraire les données à côté de l'URL correspondant c'est-à-dire que pour l'URL se trouvant en B1 j'aimerais que les données se mettent en C1, D1,...
Merci
Bonjour,
Sans fichier, tu auras peu de chance d'obtenir de l'aide pour ce problème ...
Voici déjà une première piste qui t'aidera peut-être : Importation de données Web
Cordialement,
Oui je me suis déjà beaucoup aidé de cette vidéo pour faire ma macro, merci.
Maintenant je cherche juste à lier mes deux macros qui fonctionnent séparément.
Voilà ce que ça donne pour le moment:
La 1ère macro qui me permet de récupérer toutes les adresses URL de la page:
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.amf.asso.fr/annuaire/index.asp?refer=commune&dep_n_id=79&NUM_INSEE=79001" _
, Destination:=Range("$A$1"))
.Name = "index.asp?refer=commune&dep_n_id=79&NUM_INSEE=79001"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingAll
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
compteur = 0
For ligne = 1 To 1000
If Left(Sheets("TEMP").Cells(ligne, 1), 3) = "Fax" Then
compteur = compteur + 1
Sheets("DATA").Cells(compteur, 1) = Sheets("TEMP").Cells(ligne - 1, 1)
End If
Next
compteur = 0
For ligne = 1 To 1000
If Left(Sheets("TEMP").Cells(ligne, 1), 12) = "Numéro Insee" Then
compteur = compteur + 1
Sheets("DATA").Cells(compteur, 2) = Sheets("TEMP").Cells(ligne - 1, 1)
End If
Next
End SubLa deuxième maccro qui me permet de rentrer dans une URL récupérée afin de pouvoir récupérer les infos que je veux:
Sheets("TEMP").Cells.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.amf.asso.fr/annuaire/index.asp?refer=commune&dep_n_id=79&NUM_INSEE=79001" _
, Destination:=Range("$A$1"))
.Name = "index.asp?refer=commune&dep_n_id=79&NUM_INSEE=79001"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingAll
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
compteur = 0
For ligne = 1 To 1000
If Left(Sheets("TEMP").Cells(ligne, 1), 3) = "Fax" Then
compteur = compteur + 1
Sheets("DATA").Cells(compteur, 1) = Sheets("TEMP").Cells(ligne - 1, 1)
End If
Next
compteur = 0
For ligne = 1 To 1000
If Left(Sheets("TEMP").Cells(ligne, 1), 12) = "Numéro Insee" Then
compteur = compteur + 1
Sheets("DATA").Cells(compteur, 2) = Sheets("TEMP").Cells(ligne - 1, 1)
End If
Next
End SubVoilà maintenant je cherche juste à pouvoir lier les deux macros en automatisant l'adresse URL.