A voir également:
- Macro allant chercher des infos sur internet
- Macro logiciel - Télécharger - Organisation
- Internet explorer 11 - Télécharger - Navigateurs
- Macro recorder - Télécharger - Confidentialité
- Dns probe finished no internet ✓ - Forum DNS
- Connecte sans internet ✓ - Forum WiFi
5 réponses
eriiic
Messages postés
24512
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 mars 2023
7 168
24 juil. 2009 à 22:01
24 juil. 2009 à 22:01
Bonsoir,
Il faut que tu listes les adresses des pages en feuil2 colonne B (pas trouvé un moyen simple de les récupérer sur la page).
Je t'ai laissé la colonne A libre des fois que tu veuilles y mettre un nom plus parlant (que tu pourrais récupérer par une requête identique d'ailleurs).
Comme l'opération peut être longue tu peux suivre l'évolution dans la barre d'état en bas à gauche.
Limitation : il faut que Feuil1 A1 soit sélectionné (intégré dans la macro) pour que ça marche. Mais bon, ça te fait un bon début quand même ;-)
Cath.xls
eric
Il faut que tu listes les adresses des pages en feuil2 colonne B (pas trouvé un moyen simple de les récupérer sur la page).
Je t'ai laissé la colonne A libre des fois que tu veuilles y mettre un nom plus parlant (que tu pourrais récupérer par une requête identique d'ailleurs).
Comme l'opération peut être longue tu peux suivre l'évolution dans la barre d'état en bas à gauche.
Limitation : il faut que Feuil1 A1 soit sélectionné (intégré dans la macro) pour que ça marche. Mais bon, ça te fait un bon début quand même ;-)
Cath.xls
eric
Merci beaucoup!
Je pensais qu'il y avait une solution pour ne pas avoir à sortir toutes les adresses en page 2...
En tous cas, ça m'aide bien!
Cordialement,
Cath
Je pensais qu'il y avait une solution pour ne pas avoir à sortir toutes les adresses en page 2...
En tous cas, ça m'aide bien!
Cordialement,
Cath
Bonjour,
Le même type d'automatisation peut m'être utile pour un autre travail.
Est-ce que ce serait possible (de la part d'Eric, qui m'avait gentiment aidée la première fois) ou de quelqu'un d'autre) de me commenter le code et m'expliquer comment la feuille avait été construite pour que je puisse essayer de transposer?
Etait-ce vraiment difficile à faire, et est-ce à ma hauteur, sachant que je connais d'autres langages (Java, un peu de C) mais pas VBA?
Je dois notamment travailler sur le type de page suivant :
http://www.alimarket.es/... et extraire toujours l'url du site de l'exploitant...
Merci d'avance à celui qui pourra m'expliquer!
Voici le code qu'Eric avait écrit pour la mise à jour, ce que je ne comprends pas, c'est comment les informations sont codées sur le site et comment à partir de la 8ème ligne et dans la boucle, on les repère :
Sub MAJ()
Dim i As Long, ws As Worksheet, savbarre As String
Set ws = Worksheets("Feuil2")
Worksheets("Feuil1").Select
Worksheets("Feuil1").[A1].Select
savbarre = Application.DisplayStatusBar
Application.DisplayStatusBar = True
derlig = ws.[B65536].End(xlUp).Row
For i = 2 To derlig
Application.StatusBar = "Site " & i - 1 & "/" & derlig - 1 & " en cours..."
With Selection.QueryTable
.Connection = "URL;" & ws.Cells(i, 2).Value
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
.AdjustColumnWidth = False
End With
ws.Cells(i, 3) = [B2]
ws.Cells(i, 4) = [B3]
ws.Cells(i, 5) = [B11]
ws.Cells(i, 6) = [B14]
Next i
Application.StatusBar = False
Application.DisplayStatusBar = savbarre
Set ws = Nothing
End Sub
Merci encore!
Bisous!
Cath
Le même type d'automatisation peut m'être utile pour un autre travail.
Est-ce que ce serait possible (de la part d'Eric, qui m'avait gentiment aidée la première fois) ou de quelqu'un d'autre) de me commenter le code et m'expliquer comment la feuille avait été construite pour que je puisse essayer de transposer?
Etait-ce vraiment difficile à faire, et est-ce à ma hauteur, sachant que je connais d'autres langages (Java, un peu de C) mais pas VBA?
Je dois notamment travailler sur le type de page suivant :
http://www.alimarket.es/... et extraire toujours l'url du site de l'exploitant...
Merci d'avance à celui qui pourra m'expliquer!
Voici le code qu'Eric avait écrit pour la mise à jour, ce que je ne comprends pas, c'est comment les informations sont codées sur le site et comment à partir de la 8ème ligne et dans la boucle, on les repère :
Sub MAJ()
Dim i As Long, ws As Worksheet, savbarre As String
Set ws = Worksheets("Feuil2")
Worksheets("Feuil1").Select
Worksheets("Feuil1").[A1].Select
savbarre = Application.DisplayStatusBar
Application.DisplayStatusBar = True
derlig = ws.[B65536].End(xlUp).Row
For i = 2 To derlig
Application.StatusBar = "Site " & i - 1 & "/" & derlig - 1 & " en cours..."
With Selection.QueryTable
.Connection = "URL;" & ws.Cells(i, 2).Value
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "4"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
.AdjustColumnWidth = False
End With
ws.Cells(i, 3) = [B2]
ws.Cells(i, 4) = [B3]
ws.Cells(i, 5) = [B11]
ws.Cells(i, 6) = [B14]
Next i
Application.StatusBar = False
Application.DisplayStatusBar = savbarre
Set ws = Nothing
End Sub
Merci encore!
Bisous!
Cath
eriiic
Messages postés
24512
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 mars 2023
7 168
29 juil. 2009 à 20:56
29 juil. 2009 à 20:56
Bonsoir,
Comment j'avais fait ?
J'ai créé une requete web en feuil1 à partir d'une de tes adresse.
En enregistrement de macro j'ai modifié la requête (clic-droit dessus) pour avoir le paramètre de l'URL qui est
.Connection = "URL;adresse_de_la_page"
Ensuite il ne reste plus qu'à boucler en balayant la plage des adresses des sites, de modifier l'adresse de la requète, de récupérer les 4 données (il faut que toutes les pages soient identiques pour que ces données soient tjs au même endroit) et de les copier dans la feuille des résultats (feuil2)
Pas facile à bien expliquer, j'ai commenté un peu le code.
Mais bon, il n'y a pas beaucoup de lignes...
cath.xls
Si qcq chose t'échappe encore soit plus précise dans ta question
eric
Comment j'avais fait ?
J'ai créé une requete web en feuil1 à partir d'une de tes adresse.
En enregistrement de macro j'ai modifié la requête (clic-droit dessus) pour avoir le paramètre de l'URL qui est
.Connection = "URL;adresse_de_la_page"
Ensuite il ne reste plus qu'à boucler en balayant la plage des adresses des sites, de modifier l'adresse de la requète, de récupérer les 4 données (il faut que toutes les pages soient identiques pour que ces données soient tjs au même endroit) et de les copier dans la feuille des résultats (feuil2)
Pas facile à bien expliquer, j'ai commenté un peu le code.
Mais bon, il n'y a pas beaucoup de lignes...
cath.xls
Si qcq chose t'échappe encore soit plus précise dans ta question
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question