Duplication 1 ligne en plusieurs ligne suivant valeurs colonnes différentes

Bonjour à tous, vous trouverez dans le fichier joint ce que je cherche à obtenir, ici exemple avec 1 ligne et 3 colonnes :

ClasseNomPrénomColonne1Colonne2Colonne3
6T1NelaEliseHIS2AIFGS2BIANG4BI

Résultat espéré:

ClasseNomPrénomListe
6T1NelaEliseHIS2AI
6T1NelaEliseFGS2BI
6T1NelaEliseANG4BI

La transposition fonctionne quand toutes les lignes avec le même nom, prénom sont créés, mais c'est cette étape qui me manque.

Si solution via formules ou power query, ça serait super.

Merci d'avance

6skore.xlsx (10.38 Ko)

Bonjour,

Je ne comprends pas ? il faut juste depivoter les colonnes ? ou alors vous voulez les vides ? J'ai mis les deux possibilités.

6skore.xlsx (23.70 Ko)

Bonjour, si vous avez bien compris, c'est la 1ère solution que je veux. Comment depivote t'on des colonnes ? Merci

Je vois dans power query = Table.UnpivotOtherColumns(Source, {"Classe", "Nom", "Prénom"}, "Attribut", "Valeur")

Bonjour à tous !

Bonjour,

Je ne comprends pas ? il faut juste depivoter les colonnes ? ou alors vous voulez les vides ? J'ai mis les deux possibilités.

@Valentin85 : Je pense que notre ami désire un tableau avec les "vides".

Attention à la gestion dynamique des noms de colonnes, notamment les "Colonne1, Colonne2, etc.....". Il faut se prémunir d'un ajout éventuel avec un Table.ColumnNames(Source).

Bonjour de nouveau,

Bonjour, si vous avez bien compris, c'est la 1ère solution que je veux. Comment depivote t'on des colonnes ? Merci

Votre "résultat attendu" fait apparaître des éléments vides dans la colonne "Liste"...... ce n'est donc pas la 1ère solution.

Bonjour JFL,

lipfon

Pour dépivoter voir cette image : il faut selectionner les 3 première colonnes. Attention dans l'étape d'avant j'ai remplacer les "null" par "" afin d'avoir les cellules vides. Cependant comme le dis JFL je ne gère pas les colonnes dynamiques. Peux tu m'aiguiller sur ce point JFL ? je ne maitrise pas encore.

Si vous voulez la premiere solution c'est encore plus simple il suffit juste de "dépivoter les autres colonnes" comme ci dessous

Merci

image

Super, merci à vous 2, j'ai découvert une nouvelle fonctionnalité power query que je trouve génial.

Belle journée

Bonjour de nouveau,

La fonction Table.ColumnNames est magique et d'une grande simplicité quant à son utilisation. Elle produit une liste des noms des colonnes de la table.

Cette liste va très utilement remplacer la liste de l'argument "columnsToSearch" de la fonction Table.ReplaceValue.

Bonjour de nouveau,

Merci, j'avais déjà vue cette fonction (surement dans l'une de vos solutions d'ailleurs). Mais je n'arrivai pas à remettre la main dessus. Elle est maintenant bien au chaud dans mon dossier PQ.

Vraiment un outil puissant.

Merci pour le partage.

Cdt

Bonjour JFL,

Lorsque j'ai téléchargé le fichier que tu as mis a disposition, j'ai accès à la requête t_Final mais pas t_Final__2?,

Serait ce du à ma version d'Excel 2016??, étrange, je ne vois donc pas la fonction Table.ColumnNames ?

Merci d'avance,

Cordialement,

Bonsoir à tous,

@Massari59264 : La feuille t_Final__2 résulte d'un test. J'ai simplement omis de supprimer celle-ci.

La fonction Table.ColumnNames est utilisée dans la deuxième étape :

= Table.ReplaceValue(Source,null," ",Replacer.ReplaceValue,Table.ColumnNames(Source))

Bonjour JFL,

Il m'a fallut une bonne dizaine de minutes pour comprendre la différence entre ta solution et celle de Valentin85, qui au passage j'aurai proposé surement la même chose,

Et effectivement cette fonction est vraiment pas mal, pour une gestion variable des colonnes !

Merci pour votre retour, je garde également cette fonction au cas où ;)

Cordialement,

Rechercher des sujets similaires à "duplication ligne suivant valeurs colonnes differentes"