Transposer les données d'une colonne en-tête de ligne afin de lister

Bonjour à tous,

Etant nouveau sur ce forum j'espère que j'utilise et respecte correctement l'utilisation de cette fonctionnalité.

Le titre est un peu maladroit car je ne sais pas vraiment comment expliquer mon problème en une phrase. Donc je vous l'explique ci-dessous.

J'ai créé une base de données sur différents aliments, leurs quantités et leurs valeurs en terme de macronutriments comme ci-dessous :

Nous avons donc en colonne A : CATEGORIE en colonne B : ALIMENTS. Les boutons créés permettent d'alimenter ou de supprimer une ligne de ce tableau.

TABLEAU 1 :

exemple base de donnees

Je cherche, d'une façon dynamique, a transposer le tableau ci-dessus au résultat ci-dessous (mais ici fait manuellement) : TABLEAU 2 :

image

Tout en ayant la possibilité d'alimenter le TABLEAU 1 avec de nouvelles catégories et aliments si besoin et de lister les aliments associés à cette catégorie en actualisant automatique le TABLEAU 2

J'ai beau avoir retourné internet ces 3 derniers jours pour trouver une solution répondant à ce problème je n'ai pas trouvé. Ou bien des choses qui s'en rapproche avec Power query comme ceci par exemple :

image

Mais impossible de développer les tables au sein du même tableau sans modifier le nom de l'en-tête ni sans dupliquer plusieurs fois les noms, car quand j'essaye cela me donne ceci :

image

On constate ci-dessus une répétition de la liste et du nom des aliments. Chose que je ne souhaite pas.

Je suis bloqué dans l'avancée de mon projet à cause de cela
En effet je souhaite par la suite créer 2 listes déroulantes en cascade avec : dans une cellule le nom de la catégorie. Puis dans la cellule d'à côté le nom de l'aliment choisi. Et j'ai l'impression que c'est la seule façon propre de faire des listes déroulantes en cascade puis d'aller extraire les données dans le TABLEAU 1 pour les valeurs des macronutriments. Pour vous donner une idée voici la finalité de ce que j'aimerais faire :

image

Je vous remercie d'avance pour votre aide.

Cordialement.

Hello,

Tu as bien fait de venir sur ce forum, nous avons l'astuce pour ça :

Par contre il faudrait un fichier exemple pour le faire

@+

Re-bonjour !

Ci-joint un fichier test avec la base de données illustrées dans mon post précédent :)

Ne pas tenir compte des formules sur la première feuille, elles sont effectivement à modifier

Merci de votre retour !

Cordialement

17test.xlsm (172.07 Ko)

Hello,

Une proposition, c'est ce que tu attendais ?

Je n'ai pas fait les listes encore j'attends ta confirmation

@+

20test.xlsm (176.46 Ko)

Hey !

Oui c'est exactement ça que je voulais. Dans l'editeur power query la feuille BAROUTE c'est ça !

Du moment que cela se mette à jour si j'ajoute une nouvelle catégorie dans la base de données.

D'ailleurs si vous pouvez m'expliquer les manip' effectuées que je puisse comprendre le fonctionnement ça serait top je vous en remercie d'avance

Cordialement.

Hello,

Une version amendée, je pense que ça fera plaisir à JFL si il passe par ici ()

En gros, j'ai supprimé les doublons au cas où et j'ai trié par catégorie en ordre ascendant.

J'ai regroupé les éléments correspondant par catégorie et après la formule magique Table.FromColumns qui est très pratique

N'hésite pas si besoin

@+

33test-2.xlsm (178.27 Ko)

Bonjour bonjour !

Alors là c'est vraiment super ! c'est exactement le résultat que je souhaitais avoir !

Par contre je n'ai pas tout compris sur le process à suivre pour arriver à ce résultat.

Pourriez vous me "montrer" les manip' effectuées ou cela est trop contraignant ? La formule "magique" Table.FromColumns est rentrée de quelle façon ?

En tout cas merci beaucoup pour ce résultat !

Cordialement.

Hello,

Pour le tri ainsi que la suppression des lignes en doublon cest fait avec les options mises à disposition dans l’éditeur.

Pour l’étape qui récupère sous forme de liste les éléments de chaque catégorie j’ai simplement utilisé l’option « Regrouper par » puis « CATÉGORIES » et plutôt que de sélectionner SOMME ou MOYENNE il faut sélectionner « Toutes les lignes ». Ça permet de récupérer des « sous tables » avec uniquement les lignes correspondantes pour les catégories.

Après je lui dis juste que je veux sélectionner le champ Aliment. Pour ça j’ai rajouté à la main [ALIMENT] juste après le « _ » comme ça ça permet de récupérer uniquement le champ Aliment des sous tables générées.

Enfin la fonction Table.FromColumns je ne suis pas sûr qu’elle soit dans les fonctions proposées, mais permet d’arriver à ton besoin initial :)

J’espère que c’est clair sinon n’hésite pas

@+

Hello !

J'ai réussi a transposer la requête du fichier test à mon fichier original donc no problem. J'ai compris l'interprétation, c'est la mise en place et les manip' que je galère à refaire mais ce n'est pas grave. Le principal est que ce problème soit résolu et je vous remercie de votre aide ! :)

Rechercher des sujets similaires à "transposer donnees colonne tete ligne afin lister"