Power Query groupés deux tableaux qui existent sur la même feuille et ajout d'information supplémentaire

lbahjaoui

XLDnaute Nouveau
Bonjour

j'ai des feuilles qui contiennent des notes des éléves pour des examens.
les notes sont réparties sur deux tableaux pour chaque feuille.

chaque tableau contient le nom de l'étudiant, des colonnes pour les notes et une colonne pour le code étudiant.

chaque tableau est précédé par trois information contenues dans la premire colonne et séparés par au moins une cellule vide. ces informations sont dans l'ordre : 1- le nom du professeur, 2- la description de la matière (un texte contenu dans une cellule, deux ou trois contigues) et 3 l'année scolaire.

Mon objectif est d'abord:
  • regrouper les deux tableaux en un seul tableau (nom nom de l'étudiant, {liste des notes}, code étudiant);
  • ajouter trois colonnes à coté du tableau pour les informations mentionnées (nom professeur, description, annee);
  • supprimer les informations contenues dans la première colonne;
  • pouvoir appliquer ces changements à n'importe quelle feuille dans le même classeur ou dans un autre classeur.
Pour les noms des notes dont la façon de saisi change d'un professeur à un autre (exam, épreuves,...), ca ne pose pas de problème. je garde les mêmes noms.
Pour la description avant le deuxième tableau, c'est la même que dans la première sauf le terme suite qui est ajouté.


Merci infiniment de votre appui
 

Pièces jointes

  • notes 2020.xlsx
    24.3 KB · Affichages: 8

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Une tentative dans la feuille Power Query du fichier joint.
Il y a des années scolaires telles que 2019-2020, et d'autres 2020
dans la requêtes, ces dernières sont traduites en 2019-2020.
 

Pièces jointes

  • notes 2020.xlsm
    46.1 KB · Affichages: 7

lbahjaoui

XLDnaute Nouveau
bonjour
merci @Hasco, le script proposé marche parfaitement pour la plupart des cas.
cependant et dans des cas particuliers, la liste des années générés contient aussi une partie de la description surtout quand la description contient des chiffres.
par exemple pour la description suivante : le coeffecient <New Line> de la matiere est (6).
la liste Année générée dans la partie Infos contient : de la matiere est (6) , Annee 2020, Annee 2020 et la liste indicateur contient seulement: le coeffecient.
et dans l'étape suivante, "Data tables" la premiére table se génére vide et entraine des erreurs dans ce qui suit.
est ce qu'il y a une facon pour le résoudre?
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Peut-être, mais sans le cas sous les yeux... ma petite tête ne pourra rien pour vous.
Une chose est certaine, c'est que vous ne trouverez aucune requête, aucune formule, aucun programme qui gèrera toutes les exceptions.
Au fait, et vous, qu'avez-vous essayer de faire pour gérer ça ? Ici on donne des démarches, des exemples et méthodes, mais on ne sera jamais derrière vous pour faire à votre place.
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Re bonjour,

J'ai testé avec le cas dont vous parlez (le coeffecient <New Line> de la matiere est (6).) mais je n'ai pas le phénomène que vous citez.

C'est pour ça que je vous disais :
VB:
mais sans le cas sous les yeux... ma petite tête ne pourra rien pour vous.
 

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

Je vois que vous n'avez même pas chercher à résoudre le problème par vous même. Alors voici qui tentera de traduire en nombres les 4 derniers caractères de la liste des textes.
Si il n'y a pas d'erreur alors on teste si le nombre retraduit en texte fait bien 4 caractères.

Code:
Années = List.Select(Textes, each
        let val = try Number.From(Text.End(_,4))
        in  if val[HasError] then false else Text.Length(Text.From(val[Value]))=4),


Donc tous les nombres trouvés sur les 4 craractères en fin de lignes compris entre -9999 et + 9999 seront pris en compte. Sachant que pour power query la chaîne " (6)" est égal à -6 (nombre négatif, même en changeant la culture de la fonction Number.From

Comme ni les positions, ni les type ne sont certains dans vos feuilles, vous risquez d'avoir des erreurs de temps en temps.
 

Aurelili

XLDnaute Nouveau
bonsoir tout le monde
j'essai de crée un tableur Excel avec liste déroulante , mon but est que je puisse faire une colonne avec les nombre de 1 a 60 suivi de trois autre colonnes , cependant je n'arrive pas a faire en sorte qu'en déroulant ma liste je puisse voir uniquement les informations du numéros 1 par exemple , je ne sais pas si ces claire , mais si quelqu'un peu m'aider je prends :) merci :)
 

Discussions similaires

Réponses
14
Affichages
206

Statistiques des forums

Discussions
313 310
Messages
2 097 037
Membres
106 816
dernier inscrit
Garry972