Autres Mettre un fichier à plat via power query

dec2020

XLDnaute Nouveau
Bonjour, en pièce joint le type de fichier que je veux mettre à plat pour en faciliter l'analyse de données. en onglet Fichier brut le fichier que je veux transformer et dans l'onglet suivant se trouve le résultat que je souhaite.
je veux passer par une requête query (je ne maitrise pas le vba)

je rencontre plusieurs difficultés :
- il y a des colonnes fusionnées : j'ai parvenu à m'en sortir
- le nombre de colonnes est susceptible de changer : sur le fichier transmis j'ai x colonnes mais demain je peux en avoir x+1
- le nom des salariés (que j'ai anonymisé pour vous le transmettre) comme les libellés changeront d'un fichier à l'autre : quand je pivote/dépivote les colones dans query, celui ci reprend le nom de la colonne dépivotée (le nom du salarié par exemple). si je change de fichier (donc de nom de salariés ) ma requete query ne fonctionne plus car la requete a été enregistrée avec le nom des salariés du premier fichier (que query ne retrouve plus car ils ont changé)

espérant avoir été clair dans mes explications

merci pour votre aide

Cordialement
 

Pièces jointes

  • ae209d7bcefa41318c00674e16aec437 - Copie.xlsx
    61.5 KB · Affichages: 3

crocrocro

XLDnaute Impliqué
Bonjour le fil,
en pj une proposition (en espérant avoir compris) uniquement par formule en utilisant la fonction DECALER.
Quelques remarques :
- Cellule nommée ENTETE correspond à A4 de la feuille fichier brut
- Je me suis limité à 10 salariés en lignes et rubrique Maladie Enfant en colonnes
Il suffit d'étirer les formules aussi bien en ligne qu'en colonnes.
- Dans le fichier Brut, pour tout afficher, on obtient un tableau 3D (Salarié, Libellé et "Base S", "Salarial", "Patronal" pour la 3ème dimension"). Dans mon fichier je n'ai inclus (en attendant des précisions complémentaires) que la colonne "Base S".

1731847597671.png

-
 

Pièces jointes

  • ae209d7bcefa41318c00674e16aec437 crocrocro.xlsx
    65.5 KB · Affichages: 2
Dernière édition:

crocrocro

XLDnaute Impliqué
Bonjour le fil,
en pj, une nouvelle version avec pour chaque salarié, 3 lignes :
- Ligne 1 Base S,
- Ligne 2 Salarial
- Ligne 3 Patronal.
Le libellé est "en dur" dans la formule mais il serait sans doute préférable de le récupérer à partir d'une cellule nommée, ce qui permettrait plus de souplesse
VB:
=SI(LIGNE()/3-ENT(LIGNE()/3)=0;"Salarial ";SI(LIGNE()/3-ENT(LIGNE()/3)>0,5;DECALER('fichier brut'!C$3;0;ENT((LIGNE()-LIGNE($A$1)-1)/3)*3) & " - " & "Base S. ";"Patronal "))
Merci de faire un retour.
1732001864689.png
 

Pièces jointes

  • ae209d7bcefa41318c00674e16aec437 crocrocro.xlsx
    210.8 KB · Affichages: 1
Dernière édition:

Discussions similaires

Réponses
8
Affichages
366
Réponses
7
Affichages
482
Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
315 109
Messages
2 116 299
Membres
112 715
dernier inscrit
Senoussi72