Conversion données tableau en tableau listes à valeur unique

Bonjour à tous,

Je cherche maintenant depuis un moment à résoudre un besoin, mais après de nombreuses recherches, je n'ai malheureusement pas réussi. Je vous demande donc de l'aide

J'ai une feuille("DONNEES") comprenant un tableau qui est complété au fur et à mesure dans le temps. Exemple :

Colonne : NOM - XXX - ID - XXX - XXX - CATEGORIE

Ligne 1 : nom a - XXX - 11 - XXX - XXX - CAT1

Ligne 2 : nom b - XXX - 22 - XXX - XXX - CAT2

Ligne 16 : nom x - XXX - 70 - XXX - XXX - CAT8

Ligne 9 : nom h - XXX - 88 - XXX - XXX - CAT1

Besoin : je souhaiterais avoir sur une feuille RESULTAT la chose suivante :

1- Création d'un tableau avec pour titre de colonne les CATEGORIE (ordonnées alphabétiquement)

2- Rangement des NOM sous les catégories correspondantes (rangés par ordre alphabétique si possible)

3 - Renseigner en sous-catégorie des NOM les ID comme pourrait le faire un tableau croisé dynamique (si c'est possible)

Colonne : CAT1 - CAT2 - CAT8

Ligne 1 : nom a - nom b - nom x

11 - 22 - 70

Ligne 2 : nom h

88

Je vous joins un fichier basé sur l'exemple si dessus.

Est-il possible de le faire sans macro via un tableau dynamique ou autre ? ou via VBA ?

Merci par avance de votre aide !

gntrm

bonjour

un essai (feuille Resultat)

14gntrm2.xlsx (20.41 Ko)

cordialement

Bonjour,

Une proposition à étudier et à vérifier avec l'ajout de nouvelles données.

Avec de vrais noms !...

Réalisé avec Récupérer et Transformer (Power Query).

Cdlt.

Bonjour à tous

J'avais fait donc je poste : une autre variante par PowerQuery

4gntrm-pq.xlsx (27.41 Ko)

Merci à vous tous pour vos réponses !

Mon idée est que la feuille résultat soit une feuille de data cachée, servant pour autre chose.

Je ne connais pas PowerQuery

Du coup et corrigez moi si je me trompe :

- Tulipe_4 : Avec la formule matricielle je suis obligé d’étendre la formule sur de nombreuse colonnes et lignes pour être sur d'avoir toute les données ? (exemple du fichier avec rajouts de données)

2gntrm2.xlsx (21.58 Ko)

- 78chris : avec powerQuery quand je rajoute des données, il me met un message d'erreur. Et ça ne s'actualise pas sans action ? Est-il possible de joindre l'actualisation à un bouton de lancement de macro ?

0gntrm-pq.xlsx (27.21 Ko)

- Jean-Eric : les noms seraient des nom de personne exemple Michel Dupont / Martin MARTIN / Paul Toulemond....

Ca ne s'actualise pas sans action ? Est-il possible de joindre l'actualisation à un bouton de lancement de macro ?

Re,

Une mise à jour pour l'actualisation auto. de la requête PQ.

Cdlt.

re,

Jean-Eric ça correspond à mon besoin ! Merci

Pourrais-je abuser en te demandant comment je fais pour créer le PowerQuery ? Comme ça, je m’améliore

Autre question sur les modules d'actualisation : ils se lancent quand je vais sur la feuille résultat, mais si cette feuille est cachée, cela ne s’actualise pas seul ?

Je me suis peut-être mal exprimé alors par acquis de conscience, je reformule :

J'ai un classeur comprenant déjà des macros avec un bouton qui les lances dans l'ordre définis.

la feuille du PowerQuery serait totalement inconnue des autres utilisateurs

Le but est que lorsqu'ils cliqueront sur le bouton mis à leurs dispositions cela lance les marcos et le rafraîchissement du tableau PowerQuery.

Je me pose une question si le nom des CATEGORIE change cela, a-t-il une répercussion ?

Exemple : anciennement CAT1 appelé par le nom d'une ville

CAT1 = marseillle

CAT2 = paris

CAT3 = le havre

CAT4 = l'aigle

CAT5 = saint-quentin

Bonjour

Si tu changes les titres des colonnes cela ne marche plus sans modification de la requête, si c'est juste le contenu, cela marche

Actualiser par Données, Actualiser Tout ou la ligne de code de Jean Eric

re

oui

tu tires la ligne des cat ( rien que cette ligne) vers la droite suffisement

ensuite tu en fais autant pour le tablo des noms (en largeur et en hauteur )

cordialement

Merci de votre aide ! je vais essayer les différents moyens et je reviens pour vous dire !

Ça fonctionne parfaitement après plusieurs tentatives.

Jean-Eric ou quelqu'un d'autre pourrait m'aider pour comprendre les étapes de PowerQuery afin que je puisse modifier au besoin ?

Je vous en remercie grandement par avance !

RE

Déjà on a supprimé les lignes vides du tableau source et renommé celui-ci

Puis à partir d'une cellule du tableau Données, A partir d'un tableau ce qui ouvre PowerQuery

  • à gauche dans la lise des actions on peut supprimer la ligne Type modifié
  • sélectionner NOM2 et CATEGORIE, clic droit, supprimer les autres colonnes
  • trier par CATEGORIEet NOM2
  • ajouter une colonne, Index
  • j'ai renommé cette étape Etat0. Sinon on peut arrêter la requête là et créer une autre requête pour la suite
  • Transformer, Regrouper par : regrouper par CATEGORIE, opération compter les lignes
  • Ajouter une colonne, Colonne personnalisée : formule =List.Numbers([Nombre],[Nombre],-1)
  • cliquer sur la double flèche près du titre de la colonne Personnalisé, Développer sur de nouvelles lignes
  • trier par CATEGORIE et Personnalisé
  • supprimer la colonne Nombre
  • Ajouter une colonne, Index
  • Accueil, fusionner les requêtes, choisir en seconde requête la requête actuelle, sélectionner dans chaque requête la colonne Index, jointure Interne
  • dans la barre de formule, modifier les infos de la seconde requête pour remplacer respectivement le second #"Index ajouté" par Etat0 et "Index ajouté" par "Etat0"
  • cliquer sur la double flèche près du titre de la colonne Etat0, tout décocher sauf NOM2
  • supprimer la colonne Index
  • sélectionner la colonne CATEGORIE, Transformer, colonne de TCD (ou Pivoter selon la version) : choisir NOM2 [b]et ne pas agréger
  • supprimer la colonne Personnalisé
  • sortir par Fermer et charger dans, Tableau, et choisir l'emplacement

Si des catégories s’ajoutent, les colonnes supplémentaires seront automatiquement créées

Merci 78chris !

Rechercher des sujets similaires à "conversion donnees tableau listes valeur unique"