Extraction Web, ma macro ne m'écrit pas tout

Fermé
manautop Messages postés 138 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 24 janvier 2013 - 21 janv. 2013 à 16:06
manautop Messages postés 138 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 24 janvier 2013 - 24 janv. 2013 à 14:21
Bonjour,

j'ai utilisé la macro suivante pour extraire des infos d'une page web sur excel mais elle ne marche pas complètement, en effet, j'arrive à importer les données de la pages mais lorsque je veux selectionner celles qui m'interessent et les copier/coller sur une autre page ça ne marche pas, je ne comprend pas pourquoi ?

Le but est de récupérer les notes des hotels sur un site tel que tripadvisor sans avoir à me balader sur tout les sites.



Sub importer()

Sheets("Feuil1").Cells.Clear

With Sheets("Feuil1").QueryTables.Add(Connection:="URL;https://www.tripadvisor.fr/Hotel_Review-g190356-d637669-Reviews-Sofitel_Luxembourg_Le_Grand_Ducal-Luxembourg_City.html" _
, Destination:=Sheets("Feuil1").Range("$A$1"))
.Name = "tripad"
.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("Feuil1").Cells(ligne, 1), 6) = "Très bon" Then
compteur = compteur + 1
Sheets("Feuil2").Cells(compteur, 1) = Sheets("Feuil1").Cells(ligne - 1, 1).Hyperlinks(1).Address

If compteur = 1 Then Exit For
End If

Next

end sub



Merci d'avance pour votre aide,

John

A voir également:

2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 21/01/2013 à 16:26
Bonjour,
Tuto qui peu servir..


Sheets("Feuil2").Cells(compteur, 1) = Sheets("Feuil1").Cells(ligne - 1, 1).Hyperlinks(1).Address

Si Ligne=1 tu a une erreur.
Et je ne comprend pas ce que tu veux faire avec HyperLinks ?
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
manautop Messages postés 138 Date d'inscription lundi 27 novembre 2006 Statut Membre Dernière intervention 24 janvier 2013 3
24 janv. 2013 à 14:21
Bonjour,

merci pour le tuto mais ce n'est pas dans le rappatriement de données que j'ai un problème mais dans son exploitation
en fait je vourais par exemple recupérer la valeur sous la ligne contenant le mot "tres bon"... et c'est la que ça coinçe.

pour le hyperlinks j'avoue que pour cette partie de la macro j'ai regardé ailleur pour m'inspirer (la premiere partie est faite avec l'enregistreur) mais j'ai pas vraiment d'idée sur sa fontion.

++
0