Accueil – Le CFO masqué › Forums › Power Query › Supprimer cellule vide d’une col. sans supprimer les datas des autres col.
- This topic has 5 réponses, 2 participants, and was last updated il y a 2 years et 1 months by caro_ml.
-
AuteurArticles
-
1 novembre 2022 à 16 h 00 min #122094caro_mlParticipant
Bonjour,
J’aimerai créer des menu déroulant dépendant des un des autres dans excel:
– On sélectionne une catégorie dans le niveau d’arborescence 1, dans le menu déroulant 1
– Lorsqu’on selectionne le menu deroulant 2, il n’y a que les categories rattachées à ce niveau d’arborescence 1 qui apparaissent
et ainsi du suite
Pour cela, l’idée est de créer des listes qui ont pour nom la catégorie du niveau supérieur correspondante. Puis j’utilise une formule indirect, qui fait reference à la cellule du menu déroulant précèdent.J’ai toute l’arborescence en question sur un fichier excel, il y a 4 niveau d’arborescence avec jusqu’à 200 catégories…
Il peu y avoir des mises à jour.
J’ai donc commencer à utiliser power query pour créer toutes mes liste rapidement à partir du fichier source.En pivotant les colonnes, j’ai créé un tableau avec les noms de la catégorie 1 en entête et toutes les catégorie qui leur sont rattaché dans les lignes.
Problèmes, il y a plein de cellules vides dans mon tableau chaque ligne ne contient qu’une seule donnée, comme chaque sous-catégorie n’est rataché qu’à une seule catégorie “maitresse” (voir capture ci-joint.Dans mes menus déroulants, du coup, il y a plein d’espace vide, ce n’est pas très pratique… (voir onglet partie fournisseur dans le fichier excel ci-joint).
Est-il possible de supprimer toutes les cellules vides d’une colonne sans supprimer les données des autres colonnes ? faire en sorte que les données remontent sur les lignes supérieures pour le dire autrement ?
Merci de votre aide
Attachments:
You must be logged in to view attached files.2 novembre 2022 à 10 h 53 min #122103Stéphane LorinParticipantBonjour
La fonction Pivot n’est peut être pas la plus adaptée à votre problème.
pouvez vous fournir un exemple anonymisé de la structure de vos données avant cette étape ?
Stéphane2 novembre 2022 à 12 h 03 min #122106Stéphane LorinParticipantPar exemple avec un Table.Group puis un Table.FromColumns
Supposons un Tableau1 avec 2 colonnes : la première “Titre” et la seconde “Eléments”
let
Source = Excel.CurrentWorkbook(){[Name=”Tableau1″]}[Content],
TableGroup = Table.Group(Source, {“Titre”}, {{“Liste”, each [Eléments], type list}}),
TableFromColumns = Table.FromColumns(TableGroup[Liste],TableGroup[Titre])
in
TableFromColumnsle Table.Group pour obtenir une liste des éléments par “titre”
le Table.FromColumns pour construire la table qui aura les “titre” en en-tête et les éléments de chacun en colonnesStéphane
2 novembre 2022 à 17 h 26 min #122115caro_mlParticipantBonjour Stephane,
Ci-joint la table de données de laquelle je pars. Il y a 4 colonnes, une pour chaque niveau de mes filtres. La 1er colonne est le 1er niveau d’arborescence, jusqu’à la 4eme qui est la derniere.
J’ai essayé d’écrire ce code mais cela n’a pas fonctionné:
let
Source = Menu_Deroulant
TableGroup = Table.Group(Source, {“Famille – Menu Deroulant”}, {{“Liste”, each [“Sous Famille – Menu Deroulant”], type list}}),
TableFromColumns = Table.FromColumns(TableGroup[Liste],TableGroup[Famille – Menu Deroulant])
in
TableFromColumnsLa capture correspond à l’erreur que cela ressort.
Merci beaucoup pour votre aide
Attachments:
You must be logged in to view attached files.3 novembre 2022 à 5 h 49 min #122122Stéphane LorinParticipantBonjour
dans votre copie d’écran je constate qu’il manque une virgule à la fin de la ligne 7 (il faut une virgule à la fin de chaque étape sauf la dernière avant le “in”)
il manque également une virgule dans le code que vous avez indiqué dans votre message :
Source = Menu_Deroulant ,ensuite en ligne 8 il faut indiquer l’étape précédente et non “source”
Table.Group(#”Doublons supprimés”,….Attention aussi aux “, quand on copie/colle depuis le forum, ce n’est plus tout à fait le même symbole
Enfin, on n’a pas accès à votre lecteur réseau (et heureusement !) on ne peut donc pas utiliser les requêtes de votre fichier joint.
Stéphane
3 novembre 2022 à 16 h 55 min #122153caro_mlParticipantStephane,
Incroyable, cela marche parfaitement ! 😍
Dsl pour hier, je suis une grande novice du code et je devais être un peu fatiguée.Merci mille fois !
Caroline
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.