Transposer un tableau

Bonjour,

En Excel 2010, je souhaite transposer une partie de tableau Excel.

A savoir, dans cet exemple, je dois conserver les premières colonnes telles quelles, ensuite les volumes mensuels doivent se ventiler sur 2 colonnes : 1 colonne Mois et 1 colonne Volume.

Passer de cette organisation : Customer - Activity - Model - Apr - May - Jun

A ceci : Customer - Activity - Model - Month - Volume

Un screenshot sera plus parlant...

Merci pour votre support

reversetable
15reverse-table.xlsx (10.56 Ko)

bonjour

ave cPower Query

https://www.youtube.com/watch?v=gwW2CDdvUUs

il est inclus dans les versions plus récentes d'Excel

joins ton fichier (un extrait), je te le fais

à te relire

amitiés

Bonjour,

Un exemple avec une procédure VBA.

ALT F8 et exécuter la procédure Create_table ou saisir Ctrl + m.

Cdlt.

28reverse-table.xlsm (19.58 Ko)

Merci Jean-Eric

Mon fichier excel est dans mon message (au dessus de l'image)

Je veux bien que tu le traites avec PowerQuery

J'aimerai aussi approndir ce Power Query, des pistes pour de l'auto formation sur le sujet ?

Merci JMD

Ca fonctionne impeccablement pour mon exemple !

est-ce que c'est déclinable sur des fichiers avec un nombre de colonnes "figées" différent,

également un nombre de colonne "à ventiler" différent.

Pour certains fichiers j'aurai 5 colonnes à figer et 12 mois à ventiler

Pour d'autres fichiers, ce sera 60 mois à ventiler

J'imagine qu'il faut adapter des settings dans ton VBA ?

Merci beaucoup à tous les deux

Re,

Pour la solution VBA, le nombre de colonnes n'est pas un souci.

Fais l'essai en ajoutant des colonnes.

Il faut simplement que les données soient sous forme de tableau (comme dans mon exemple).

Pour la solution Power Query et un nombre de colonnes variables, je laisse le soin à jmd de te répondre.

Cdlt.

re

salut Jean-Eric,

j'ai retenu ta leçon de dépivotage dans PQuery, voici donc :

dans PQuery, sélectionner tes 5 colonnes fixes et clic droit "dépivoter les autres colonnes"

donc ça marche quel que soit le nombre de colonnes à dépivoter.

par contre si un jour tu as 4 colonnes à figer, il faudra revoir cette instruction dans PQuery

(quoique ça doive pouvoir se faire en auto, mais je sais pas)

amitiés à tous et bonne journée

Merci à tous !

JMD

je peux effectivement ajouter autant de colonnes datas que je veux, la ventilation s'adapte

par contre je ne peux pas ajouter de colonne "fixe"

je vais donc explorer le depivotage de PQuery proposé par Jean-Eric

Merci pour votre aide !

Bonne journée

re

pour adapter le nombre de colonnes fixes, modifier une macro ou modifier une instruction de PQuery, c'est ni plus ni moins complexe.

reste les préférences de chacun.

bon travail à tous

Re,

Une proposition Power Query, qui transpose un nombre de colonnes variables.

Ce n'est pas automatique. ll faut saisir manuellement 3 lignes dans l'éditeur Power Query.

Cela se résume à ceci :

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    ColNames=Table.ColumnNames(Source),
    ColsUnpivot=List.Skip(ColNames,3),
    Unpivot=Table.Unpivot(Source,ColsUnpivot,"Month","Volume")
in
    Unpivot

Dans l'exemple, on transpose les colonnes 4 à x colonnes. On conserve dans l'état les colonnes 1 à 3.

J'ai ajouté le numéro du mois (pour un tri éventuel).

Voir l'aide Power query pour les fonctions ColumnNames et Skip.

Cdlt.

12reverse-table.xlsm (32.46 Ko)

resalut Jean-Eric

super !

le plus serait de pouvoir entrer le nombre de colonnes fixes en paramètre (à saisir dans une cellule du fichier Excel d'origine)

  • dans le code VBA
  • dans l'instruction PQuery

mébon, ça complique

ce serait utile si on doit modifier ce paramètre tous les jours

amitiés

PQuery - selectionner les colonnes fixes et dépivoter les autres colonnes, ça marche super !

Merci infiniment JMD et Jean-Eric !

Re,

Une mise à jour de la proposition Power Query avec un tableau de paramètres pour le nombre de colonnes fixes.

Cdlt.

19reverse-table.xlsx (15.40 Ko)
Rechercher des sujets similaires à "transposer tableau"