Import page HTML via VBA

yuyu - 5 sept. 2023 à 17:34
 yuyu - 6 sept. 2023 à 15:07

Bonjour le forum,

J'ai trouvé ce code qui permet d'importe le contenu d'une page HTML sur excel mais il n'importe pas toutes les tables. J'ai également essayé avec donnée - a partir du web mais idem il ne me propose que 2 tables. Savez-vous comment je peux faire pour récuperer l'intégralité de la page (dont Statistiques basiques de joueur) qui n'apparait pas. 

CI-dessous le code :

Sub TransformerUneFeuilleWebEnClasseur()
 
Dim Obk As Workbook
 
 
        Set Obk = Workbooks.Open("https://fbref.com/fr/comps/9/stats/Statistiques-Premier-League")
 
        Obk.Activate
 
        ' Suppression des liens hypertextes
        '----------------------------------
        Cells.Hyperlinks.Delete
 
        ' Suppression des images et contrôles
        '------------------------------------
        ActiveSheet.Shapes.SelectAll
        Selection.Delete
 
        'Sauvegarde sur le disque dur
        '----------------------------
 
        'Travail comme un classeur
        '-------------------------
 
          Set Obk = Nothing
 
End Sub

ou 

Sub importer()
    
    Sheets("Feuil1").Cells.Clear
    
    With Sheets("Feuil1").QueryTables.Add(Connection:="URL;https://fbref.com/fr/comps/9/stats/Statistiques-Premier-League" _
        , Destination:=Sheets("Feuil1").Range("$A$1"))
        .Name = "exemple"
        .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
    
    
    
End Sub

Qui donne le même résultat.

Merci de votre aide

A voir également:

1 réponse

Une idée de comment faire ? Hors Python svp ^^

0