Adaptation Code Boursorama

Bonsoir,

J'ai pris ce fichier dans un sujet précédent et je me demandais s'il était possible de l'adapter à mes besoins. Au lieu de prendre l'historique, il faudrait que je puisse prendre le compte de résultat et le bilan de chaque entreprise renseignée dans l'onglet "_URL". Le lien pour ces données est donné en exemple en C11.

Je vous remercie,

Je vous remercie pour votre aide,

A mon avis, c'est cette partie du code que je ne comprends pas et qui me bloque :

DoEvents
    URL = Sheets("_URL").Range("C" & i)
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", URL, False
        .Send
    ' Le code de statut de réponse HTTP 200 OK indique la réussite d'une requête
        If .Status = 200 Then

    ' je découpe la réponse pour en extraire le tableau
            ' première découpe avec le critère défini ci-dssus ... j'en prend la seconde partie (indice 1)
            ' duxième découpe avec </table> dont je prends la première partie (indoce 0)
            ' et je rajoute les balises <table... et </table>

            txt = avant & Split(Split(.responseText, avant)(1), "</table>")(0) & "</table>"
         ' j'ajoute une apostrophe devant les dates pour les préserver et éviter qu'excel n'en fasse ce qu'il veut
            txt = Replace(txt, "u-text-uppercase"">", "u-text-uppercase"">'") ' préservation de la date FR
        ' je colle cela dans le press-papier
            obj.SetText txt

Elle permet de définir les critères afin d'avoir la bonne requête, cependant je n'ai pas les connaissances pour la comprendre. Si quelqu'un a une explication, je suis preneur.

Merci, bonne journée :)

Je devrais peut-être poser une question directement, j'aurais surement plus de réponses..

Comment définir en VBA qu'une requête prenne la Table0 de la page web plutôt que la Table1?

Une idée svp?

Bonjour,

En faisant cela et en enregistrant la macro, voici ce que j'obtiens, il y a 3 lignes qui spécifies quelles tables je souhaites récupérer.

    ActiveWorkbook.Queries.Add Name:="Table 1", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Web.Page(Web.Contents(""https://www.boursorama.com/cours/societe/chiffres-cles/1rPCOFA/""))," & Chr(13) & "" & Chr(10) & "    Data0 = Source{0}[Data]," & Chr(13) & "" & Chr(10) & "    #""Type modifié"" = Table.TransformColumnTypes(Data0,{{""Milliers EUR"", type text}, {""12.18"", type text}, {""12.19"", type text}, {""12.20"", type text}, {""12.21"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Type modifié"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""Table 1"";Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [Table 0]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_1"
        .Refresh BackgroundQuery:=False
    End With

Bonjour,

Merci de votre aide, je souhaitais un code dynamique autre que celui de l'enregistreur de macro!

Voici le lien qui m'a fournit la réponse : Récupération Données Boursorama (excel-pratique.com)

Bonne soirée,

Rechercher des sujets similaires à "adaptation code boursorama"