Supprimer cellule vide d’une col. sans supprimer les datas des autres col.

Accueil – Le CFO masqué Forums Power Query Supprimer cellule vide d’une col. sans supprimer les datas des autres col.

6 sujets de 1 à 6 (sur un total de 6)
  • Auteur
    Articles
  • #122094
    caro_ml
    Participant

    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.
    #122103
    Stéphane Lorin
    Participant

    Bonjour
    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éphane

    #122106
    Stéphane Lorin
    Participant

    Par 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
    TableFromColumns

    le 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 colonnes

    Stéphane

    #122115
    caro_ml
    Participant

    Bonjour 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
    TableFromColumns

    La capture correspond à l’erreur que cela ressort.

    Merci beaucoup pour votre aide

    Attachments:
    You must be logged in to view attached files.
    #122122
    Stéphane Lorin
    Participant

    Bonjour
    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

    #122153
    caro_ml
    Participant

    Stephane,

    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

6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.