Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Power Query Copier étapes transformation tableau

  • Initiateur de la discussion Initiateur de la discussion Etoto
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Etoto

XLDnaute Barbatruc
Supporter XLD
Bonjour,

Est-ce possible de copier les étapes appliquées sur un tableau dans PQ vers un autre tableau. Faire que le tableau fasse exactement les même étapes de transformation sur un autre tableau.

Est-ce possible ? Parce que j'ai un tableau sur chaque mois d'une année et je voudrais savoir si y'a un moyen d'éviter de faire de répétitions.

PS : J'essaie de mettre mon fichier en ordre avant de vous le joindre.
 
Solution
RE
VB:
let
    Source = Web.Page(Web.Contents("https://www.sfl.ch/fr/superleague/calendrier/saison/archiveseason/202122/sorting/date/")),
    #"Lignes filtrées" = Table.SelectRows(Source, each ([Source] = "Table")),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées",{"Caption", "Data"}),
    Source2 = Table.ExpandTableColumn(#"Autres colonnes supprimées", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5"}, {"Column1", "Column2", "Column3", "Column4", "Column5"}),
    #"Fractionner la colonne par délimiteur" = Table.SplitColumn(Source2, "Column1", Splitter.SplitTextByEachDelimiter({"#(tab)"}, QuoteStyle.Csv, true), {"Column1.1", "Date"}),
    #"Valeur remplacée" = Table.ReplaceValue(#"Fractionner la colonne...
Salut,
Je l'avais fait avec VBA et l'enregistreur de macro.
Tu créé ta requête 1 fois et tu stop ton enregistrement, ça enregistre toutes les étapes, il te manquera qu'à trouver la solution pour appliquer à ton nouveau tableau.
A +
 
Hello, oui mais je n'ai pas été assez précis, il faut que tous les tableaux soient à la fin sur mon fichier Excel. Ou alors j'ai mal compris.
 
Tu ouvres PQ avec la requête de feuille 12 09/21.
Accueil, éditeur avancé, tu copies le code à partir de #"Type modifié" jusque en bas.
tu colles ce code dans chacune des autres requêtes et tu changes le
#"Type modifié" = Table.TransformColumnTypes(Data2 pour faire correspondre au Data de la ligne précédente.
le travail est fait pour oct et nov.
 
Super cool ! C'est comme un enregistreur de macros mais à la façon de Power Query.

Mais pourquoi j'ai une erreur sur mai 2022 voici le code :
Code:
let
    Source = Web.Page(Web.Contents("https://www.sfl.ch/fr/superleague/calendrier/saison/archiveseason/202122/sorting/date/")),
    Data10 = Source{10}[Data],
    #"Type modifié" = Table.TransformColumnTypes(Data10,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}})
    #"Derniers caractères insérés" = Table.AddColumn(#"Type modifié", "Derniers caractères", each Text.End([Column1], 8), type text),
    #"Colonnes permutées" = Table.ReorderColumns(#"Derniers caractères insérés",{"Column1", "Derniers caractères", "Column2", "Column3", "Column4", "Column5"}),
    #"Colonnes supprimées" = Table.RemoveColumns(#"Colonnes permutées",{"Column1"}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Colonnes supprimées",{{"Derniers caractères", type date}}),
    #"Colonnes supprimées1" = Table.RemoveColumns(#"Type modifié1",{"Column2"}),
    #"Colonnes renommées" = Table.RenameColumns(#"Colonnes supprimées1",{{"Column3", "Equipe dom"}, {"Column5", "Equipe ext"}, {"Derniers caractères", "Date"}}),
    #"Colonnes permutées1" = Table.ReorderColumns(#"Colonnes renommées",{"Date", "Equipe dom", "Equipe ext", "Column4"}),
    #"Premiers caractères insérés" = Table.AddColumn(#"Colonnes permutées1", "Premiers caractères", each Text.Start(Text.From([Column4], "fr-CH"), 2), type text),
    #"Colonnes renommées1" = Table.RenameColumns(#"Premiers caractères insérés",{{"Premiers caractères", "But dom"}}),
    #"Derniers caractères insérés1" = Table.AddColumn(#"Colonnes renommées1", "Derniers caractères", each Text.End(Text.From([Column4], "fr-CH"), 2), type text),
    #"Colonnes renommées2" = Table.RenameColumns(#"Derniers caractères insérés1",{{"Derniers caractères", "But ext"}}),
    #"Type modifié2" = Table.TransformColumnTypes(#"Colonnes renommées2",{{"But dom", Int64.Type}, {"But ext", Int64.Type}}),
    #"Colonnes supprimées2" = Table.RemoveColumns(#"Type modifié2",{"Column4"})
in
    #"Colonnes supprimées2"
 
Voici mon code :
VB:
Sub Créer_requête()
'
' Macro5 Macro
'

'
fin = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1
Nom = InputBox("entrer le nom de la requête")

    ActiveWorkbook.Queries.Add Name:=Nom, Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Web.Page(Web.Contents(""https://www.sfl.ch/fr/superleague/calendrier/saison/archiveseason/202122/sorting/date/""))," & Chr(13) & "" & Chr(10) & "    Data2 = Source{2}[Data]," & Chr(13) & "" & Chr(10) & "    #""Type modifié"" = Table.TransformColumnTypes(Data2,{{""Column1"", type text}, {""Column2"", type time}, {""Column3"", type text}, {""Column4"", type time}, {""Column5"", type text}})," & Chr(13) & "" & Chr(10) & "    #""Derni" & _
        "ers caractères insérés"" = Table.AddColumn(#""Type modifié"", ""Derniers caractères"", each Text.End([Column1], 8), type text)," & Chr(13) & "" & Chr(10) & "    #""Colonnes permutées"" = Table.ReorderColumns(#""Derniers caractères insérés"",{""Column1"", ""Derniers caractères"", ""Column2"", ""Column3"", ""Column4"", ""Column5""})," & Chr(13) & "" & Chr(10) & "    #""Colonnes supprimées"" = Table.RemoveColumns(#""Colonne" & _
        "s permutées"",{""Column1""})," & Chr(13) & "" & Chr(10) & "    #""Type modifié1"" = Table.TransformColumnTypes(#""Colonnes supprimées"",{{""Derniers caractères"", type date}})," & Chr(13) & "" & Chr(10) & "    #""Colonnes supprimées1"" = Table.RemoveColumns(#""Type modifié1"",{""Column2""})," & Chr(13) & "" & Chr(10) & "    #""Colonnes renommées"" = Table.RenameColumns(#""Colonnes supprimées1"",{{""Column3"", ""Equipe dom""}, {""Column5"", ""Equipe" & _
        " ext""}, {""Derniers caractères"", ""Date""}})," & Chr(13) & "" & Chr(10) & "    #""Colonnes permutées1"" = Table.ReorderColumns(#""Colonnes renommées"",{""Date"", ""Equipe dom"", ""Equipe ext"", ""Column4""})," & Chr(13) & "" & Chr(10) & "    #""Premiers caractères insérés"" = Table.AddColumn(#""Colonnes permutées1"", ""Premiers caractères"", each Text.Start(Text.From([Column4], ""fr-CH""), 2), type text)," & Chr(13) & "" & Chr(10) & "    #""Colon" & _
        "nes renommées1"" = Table.RenameColumns(#""Premiers caractères insérés"",{{""Premiers caractères"", ""But dom""}})," & Chr(13) & "" & Chr(10) & "    #""Derniers caractères insérés1"" = Table.AddColumn(#""Colonnes renommées1"", ""Derniers caractères"", each Text.End(Text.From([Column4], ""fr-CH""), 2), type text)," & Chr(13) & "" & Chr(10) & "    #""Colonnes renommées2"" = Table.RenameColumns(#""Derniers caractères insérés" & _
        "1"",{{""Derniers caractères"", ""But ext""}})," & Chr(13) & "" & Chr(10) & "    #""Type modifié2"" = Table.TransformColumnTypes(#""Colonnes renommées2"",{{""But dom"", Int64.Type}, {""But ext"", Int64.Type}})," & Chr(13) & "" & Chr(10) & "    #""Colonnes supprimées2"" = Table.RemoveColumns(#""Type modifié2"",{""Column4""})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Colonnes supprimées2"""
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=" & Nom & ";Extended Properties=""""" _
        , Destination:=Range("$A$" & fin)).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [" & Nom & "]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = False
        .ListObject.DisplayName = Nom
        .Refresh BackgroundQuery:=False
    End With

End Sub

J'ai repris la mise en forme de septembre, le seul problème que je rencontre c'est que du coup les données sont aussi celles de septembre.
Il faut que j'arrive à variabiliser de façon à pouvoir choisir le mois que l'on veut.
A +
 
#"Type modifié" = Table.TransformColumnTypes(Data10,{{"Column1", type text}, {"Column2", type time}, {"Column3", type text}, {"Column4", type time}, {"Column5", type text}}),
avec la virgule à la fin
et non
#"Type modifié" = Table.TransformColumnTypes(Data10,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}})
 
Ci-joint ma proposition,
Il faut entrer un nom de requête qui n'existe pas déjà en premier lieu,
Puis rentrer le numéro de la table correspondante dans un second temps,
Le tableau vient se greffer à la suite du précédent.
A +
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…