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 Sub

La 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 Sub

Voilà maintenant je cherche juste à pouvoir lier les deux macros en automatisant l'adresse URL.

Rechercher des sujets similaires à "automatiser url recuperer donnees"