XL 2016 Transformer la mise en forme d'un tableau

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tony44

XLDnaute Occasionnel
Bonjour,
Je cherche à modifier la mise en forme d'un tableau en fonction de données enregistrées dans un tableau.

En fonction d'un service sélectionné dans une cellule , je cherche à créer un nouvel onglet avec comme résultat un tableaux qui se génère automatiquement pour le service choisi.

J'ai mis un exemple dans le fichier joint pour que ce soit plus clair.

Merci,
 

Pièces jointes

Bonjour,
Pour info, la fonction Table.AddIndexColumn ne supporte pas le typage en fin de fonction lorsque la version d'Excel est 2016 (voir ce post, où je présente quelques différences entre les versions)
Donc, dans la ligne :
PowerQuery:
= Table.AddIndexColumn(#"Autres colonnes supprimées", "Index", 0, 1, Int64.Type)
Enlever le , Int64.Type comme ceci :
PowerQuery:
= Table.AddIndexColumn(#"Autres colonnes supprimées", "Index", 0, 1)
NB, cet ajout d'index ne me semble pas non plus nécessaire
Bonne apm
 
Re-,
J'ai repris le fichier de @goube , qui a nommé la cellule B1 de l'onglet "Feuil1" du nom de "Service"
Dans la requête "Service", cette valeur est retournée par le code :
1758548913449.png

On obtient donc une variable, nommée "Service", qui va nous servir dans le filtre (et le renommage du titre de la première colonne), dans la requête "Final"
Voici le code commenté (dans PQ, pour commenter un code, on le fait précéder d'un double //

PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    // C'est la source, soit le tableau nommé "Tableau1"
    #"Lignes filtrées" = Table.SelectRows(Source, each ([Service] = Service)),
    // Ici, on filtre sur les Services qui correspondent à la variable "Service"
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées",{"Nom", "Type de machine", "Type d'habilitation"}),
    // On ne garde que les colonnes nécessaires
    #"Colonne dynamique" = Table.Pivot(#"Autres colonnes supprimées", List.Distinct(#"Autres colonnes supprimées"[#"Type de machine"]), "Type de machine", "Type d'habilitation"),
    // On pivote le tableau, afin d'obtenir les habilitations du salarié en fonction du type de machine
    #"Colonnes renommées" = Table.RenameColumns(#"Colonne dynamique",{{"Nom", Service}})
    // Ici, je renomme le titre de la première colonne, pour faire apparaître le service concerné
in
    #"Colonnes renommées"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
176
Réponses
2
Affichages
132
Retour