IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POWER Discussion :

[Power Query][Excel 365] Requêtes Web multiples


Sujet :

POWER

  1. #1
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut [Power Query][Excel 365] Requêtes Web multiples
    Hello,

    j'utilise très peu, et certainement très mal, PowerQuery et j'aurais besoin d'un coup de main pour m'éviter de faire des 10aines de copier/coller manuels.

    Je voudrais récupérer les classements, les titres (sans les années si possibles, mais ça je peux gérer) et interprètes des morceaux des 17 pages de ce site https://www.senscritique.com/liste/t...all_time/78610 et j'aimerai que ça soit quasi automatique (lire je ne voudrais pas faire 17 fois la même chose), comme ceci

    Nom : 2024-12-19_17-17-49.png
Affichages : 141
Taille : 14,3 Ko

    C'est possible ?

    Le truc que je constate avec mes tests, c'est que je ne récupère pas toujours les interprètes, on dirait que ça dépend de qqchose que je ne maitrise pas.

    Merci d'avance à tous ceux qui se pencherons sur ce problème.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Bonjour,
    Ces codes, certes améliorables, te donnent l'entièreté des tables.
    Code principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    let
        Adr = "https://www.senscritique.com/liste/the_rolling_stone_magazine_s_500_greatest_songs_of_all_time/78610?page=",
        Lien = Table.FromList(List.TransformMany({[Adresse = Adr, Page = {1..17}]},
            each [Page], (s,c) => [Adresse = s[Adresse], Pages = c]), Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        Expand = Table.ExpandRecordColumn(Lien, "Column1", {"Adresse", "Pages"}, {"Adresse", "Pages"}),
        Fusion = Table.CombineColumns(Table.TransformColumnTypes(Expand, {{"Pages", type text}}, "fr-FR"),{"Adresse", "Pages"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Fusionné"),
        Fonction = Table.AddColumn(Fusion, "fnHTML", each fnHTML([Fusionné])),
        ExpandTable = Table.RemoveColumns(Table.ExpandTableColumn(Fonction, "fnHTML", {"Column1", "Column3", "Column5"}),"Fusionné")
    in
        ExpandTable
    Et la fonction de transformation "fnHTML"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (lien as text)=>
    let
        Source = Web.BrowserContents(lien),
        Extract = Html.Table(Source, {{"Column1", ".sc-8251ce8c-5"}, {"Column3", ".sc-65c92dd-1"}, {"Column5", ".sc-65c92dd-0 SPAN *"}}, [RowSelector=".sc-6b8f8da3-0"])
    in
        Extract
    Il y a sûrement plus simple, mais c'est tout ce que j'ai pu faire...
    Bonne soirée

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Re-,
    Codes un peu allégés :
    Code principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    let
        Adr = "https://www.senscritique.com/liste/the_rolling_stone_magazine_s_500_greatest_songs_of_all_time/78610?page=",
        Lien = Table.FromList(List.TransformMany({[Adresse = Adr, Page = {1..17}]},
            each [Page], (s,c) => [Adresse = s[Adresse], Pages = Text.From(c), rec = Adresse & Pages][rec]), Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        Fonction = Table.AddColumn(Lien, "fnHTML", each fnHTML([Column1]))[[fnHTML]],
        ExpandTable = Table.ExpandTableColumn(Fonction, "fnHTML", {"Classement", "Titre", "Auteur"})
    in
        ExpandTable
    Fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (lien as text)=>
    let
        Source = Web.BrowserContents(lien),
        Extract = Html.Table(Source, {{"Column1", ".sc-8251ce8c-5"}, {"Column3", ".sc-65c92dd-1"}, {"Column5", ".sc-65c92dd-0 SPAN *"}}, [RowSelector=".sc-6b8f8da3-0"]),
        Rename = Table.RenameColumns(Extract,{{"Column1","Classement"},{"Column3","Titre"},{"Column5","Auteur"}})
    in
        Rename

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Merci beaucoup mapeh pour le temps passé, déjà la forme du résultat correspond à ce que j'attendais.

    Je m'y prend sûrement très mal, je dois mettre chaque adresses de chaque page dans "lien" pour avoir une "fonction appelée" qui affiche une liste des données de la page
    Nom : 2024-12-19_19-26-31.png
Affichages : 112
Taille : 15,1 Ko
    Qu'est-ce que j'ai raté ou mal fait ?

    Merci

    edit : serait-il possible de me fournir le fichier .xlsx ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Re-,
    Voici le classeur exemple
    Import HTML2.xlsx

  6. #6
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Impeccable, merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide Power Query Excel
    Par jip31 dans le forum POWER
    Réponses: 1
    Dernier message: 28/12/2022, 15h07
  2. Réponses: 8
    Dernier message: 13/10/2022, 15h07
  3. [XL-365] Lancer Power Query avec VBA sur Excel 365
    Par BIBODI dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/11/2021, 19h57
  4. Mise à jour requête Power Query Excel Online
    Par cadaver dans le forum POWER
    Réponses: 0
    Dernier message: 01/09/2021, 23h55
  5. Réponses: 0
    Dernier message: 05/03/2021, 00h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo