Microsoft 365 transposer en colonne

kenny

XLDnaute Occasionnel
Bonjour,

J'aimerais transposer les données de ma feuille 1 en colonne comme dans l'onglet 2 (je le fais avec collage spécial transposé). dans mon onglet remplissage tableau reporter les données transposées car chaque semaine de l'année j'aurais ce fichier.

En sachant que dans ma feuille 1 je peux avoir plus de nom donc pas limité à Dupont 33.
Pourrait -on le faire par VBA Excel.

Merci d'avance (fichier test joint)
 

Pièces jointes

  • Transpose_test.xls
    43 KB · Affichages: 71

Staple1600

XLDnaute Barbatruc
Re

C'est là qu'intervient le hardcore ;)
Supprimes tout ce code et remplaces le par celui-ci
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Colonne1", type text}, {"DUPONT Durant 1", type number}, {"DUPONT Durant 2", type number}, {"DUPONT Durant 3", type number}, {"DUPONT Durant 4", type number}, {"DUPONT Durant 5", type number}, {"DUPONT Durant 6", type number}, {"DUPONT Durant 7", type number}, {"DUPONT Durant 8", type number}, {"DUPONT Durant 9", type number}, {"DUPONT Durant 10", type number}, {"DUPONT Durant 11", type number}, {"DUPONT Durant 12", type number}, {"DUPONT Durant 13", type number}, {"DUPONT Durant 14", type number}, {"DUPONT Durant 15", type number}, {"DUPONT Durant 16", type number}, {"DUPONT Durant 17", type number}, {"DUPONT Durant 18", type number}, {"DUPONT Durant 19", type number}, {"DUPONT Durant 20", type number}, {"DUPONT Durant 21", type number}, {"DUPONT Durant 22", type number}, {"DUPONT Durant 23", type number}, {"DUPONT Durant 24", type number}, {"DUPONT Durant 25", type number}, {"DUPONT Durant 26", type number}, {"DUPONT Durant 27", type number}, {"DUPONT Durant 28", type number}, {"DUPONT Durant 29", type number}, {"DUPONT Durant 30", type number}, {"DUPONT Durant 31", type number}, {"DUPONT Durant 32", type number}, {"DUPONT Durant 33", type number}, {" TOTAL ", type number}}),
    #"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"Type modifié", {"Colonne1"}, "Attribut", "Valeur"),
    #"Colonne dynamique" = Table.Pivot(#"Supprimer le tableau croisé dynamique des autres colonnes", List.Distinct(#"Supprimer le tableau croisé dynamique des autres colonnes"[Colonne1]), "Colonne1", "Valeur", List.Sum),
    #"Lignes triées" = Table.Sort(#"Colonne dynamique",{{"Attribut", Order.Descending}}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Lignes triées",{{"Durée totale sortant", type time}})
in
    #"Type modifié1"
Puis clique sur OK
 

kenny

XLDnaute Occasionnel
Re

C'est là qu'intervient le hardcore ;)
Supprimes tout ce code et remplaces le par celui-ci
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Colonne1", type text}, {"DUPONT Durant 1", type number}, {"DUPONT Durant 2", type number}, {"DUPONT Durant 3", type number}, {"DUPONT Durant 4", type number}, {"DUPONT Durant 5", type number}, {"DUPONT Durant 6", type number}, {"DUPONT Durant 7", type number}, {"DUPONT Durant 8", type number}, {"DUPONT Durant 9", type number}, {"DUPONT Durant 10", type number}, {"DUPONT Durant 11", type number}, {"DUPONT Durant 12", type number}, {"DUPONT Durant 13", type number}, {"DUPONT Durant 14", type number}, {"DUPONT Durant 15", type number}, {"DUPONT Durant 16", type number}, {"DUPONT Durant 17", type number}, {"DUPONT Durant 18", type number}, {"DUPONT Durant 19", type number}, {"DUPONT Durant 20", type number}, {"DUPONT Durant 21", type number}, {"DUPONT Durant 22", type number}, {"DUPONT Durant 23", type number}, {"DUPONT Durant 24", type number}, {"DUPONT Durant 25", type number}, {"DUPONT Durant 26", type number}, {"DUPONT Durant 27", type number}, {"DUPONT Durant 28", type number}, {"DUPONT Durant 29", type number}, {"DUPONT Durant 30", type number}, {"DUPONT Durant 31", type number}, {"DUPONT Durant 32", type number}, {"DUPONT Durant 33", type number}, {" TOTAL ", type number}}),
    #"Supprimer le tableau croisé dynamique des autres colonnes" = Table.UnpivotOtherColumns(#"Type modifié", {"Colonne1"}, "Attribut", "Valeur"),
    #"Colonne dynamique" = Table.Pivot(#"Supprimer le tableau croisé dynamique des autres colonnes", List.Distinct(#"Supprimer le tableau croisé dynamique des autres colonnes"[Colonne1]), "Colonne1", "Valeur", List.Sum),
    #"Lignes triées" = Table.Sort(#"Colonne dynamique",{{"Attribut", Order.Descending}}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Lignes triées",{{"Durée totale sortant", type time}})
in
    #"Type modifié1"
Puis clique sur OK
wow c'est vraiment le hardcore ! ;o)) perfect cela fonctionne tres bien. donc j'ai fait fermer et charger. et j'ai mon taleau. Alors deux questions Staple, si j'ai plus de donner dans mon tableau il suffira juste de le sélectionner et appliquer la requête sans la modifier ?? et comment je fais pour donner un nom à ma requête pour la sauvegarder ? merci ;o))
 

Staple1600

XLDnaute Barbatruc
re

Oui, c'est là toute la beauté de PowerQuery.
Une fois ta requête enregistrée, elle sera actualisable si les données source changent

Maintenant, sur la feuille où est ton nouveau tableau, tu as un onglet Requetes à droite de l'écran
Survole-la avec ta souris
Une sous-fenêtre doit s'afficher
Clique alors sur Modifier
 

Discussions similaires

Réponses
11
Affichages
444

Statistiques des forums

Discussions
311 721
Messages
2 081 927
Membres
101 842
dernier inscrit
seb0390