Fusion de deux onglets sur base d'un matricule commun

Bonjour,

Je voudrais fusionner deux "bases de données" mais de manière un peu spéciale !

J'ai une base de données (onglet Signalétique) avec les renseignements utiles pour l'analyse et donc une série de renseignements signalétiques qui peuvent évoluer sur une période.

Par exemple une personne peut augmenter ou diminuer son temps de travail ou changer de catégorie. Il est donc normal que sur une année j'ai plusieurs lignes.

J'ai une base de données (onglet certificats) avec les dates d'absence et le matricule qui est identique à celui de la DB.

Je voudrais lier les deux "DB" de manière à ce que les certificats viennent se coller aux lignes dans le DB mais en tenant compte du fait que s'il y a plusieurs lignes pour un matricule dans la DB signalétique et donc le certificat en fonction de sa date doit être rattaché à la bonne ligne.

Cela me permettra de calculer une pourcentage d'absence sur chaque critère de la DB.

Merci pour votre aide.

17erasez01.xlsx (17.57 Ko)

Bonsoir à tous !

Une approche via Power Query ?

Des tableaux structurés (tSignalétique et tCerticats) ont été insérés dans le classeur.

Si la source change, un simple "Actualiser tout " restituera un tableau à jour des modifications.

Bonjour JFL,

Merci pour ton aide.

Je vois que les certificats ne sont pas tous mis en regard d'une ligne du signalétique.

Par exemple, pour le 6550699. Il y a deux certificats. Mais il n'en rattache qu'un. Je le vois tout de suite car quand je totalise les jours de certificats, j'ai moins de jours.

Parfois aussi, pas sur la bonne date.

Je me demande si ce que je demande est réalisable ?

J'ai mis un échantillon plus large dans le fichier et j'ai fait tourner.

Bonsoir à tous !

J'ai mis un échantillon plus large dans le fichier .......

La trame de ce nouveau classeur est totalement différente.....

Dans le premier classeur, pour un matricule donné, il y avait le même nombre d’enregistrements dans les deux feuilles (Signalétique et Certificats).

Ce n'est plus le cas.

Bonsoir JFL,

J'avais pris' un échantillon plus petit mais pour moi rien n'a changé.

Je me doute que ma requête est assez spéciale.

Si on a une solution tant mieux mais si pas aucun stress 😌

Merci pour ton aide

Bonjour à tous !

Une version 2 qui.... retourne le résultat escompté (enfin....j'espère....)

Si la requête est fonctionnelle, la vélocité n'est pas au rendez-vous. Le traitement souhaité est coûteux !

Bonjour JFL,

Merci pour ton temps et ton aide.

J'ai un souci à l'ouverture du fichier.

Pourrais-tu le mettre sans zip ?

Bonsoir à tous !

C'est le forum qui se charge du format "zip" !

Mais visiblement, le classeur présent sur mon ordinateur était en défaut.

Version Bis :

Merci JFL,

C'est ce que je recherchais.

Maintenant, je me rends compte d'un souci mais qui n'a rien à voir avec power-query et ton excellent travail.

Il est vrai que je me retrouve avec des parties de ligne vide et des parties de lignes remplies quand sur une même période sur plusieurs certificats.

Penses-tu qu'il serait possible de garnir les lignes manquantes de manière à ce que chaque certificat soit relié en à quelque chose ? C'est important pour mes calculs sur base des critères que je choisirai.

Mais cela me donnera aussi trop de jours ... si 2 certificats sur une période d'un an alors j'aurai deux fois les renseignements....

Je suis un peu perdu..

Bonsoir à tous !

Désolé mais vos données sont très obscures pour un œil extérieur. Impossible donc de déterminer un "quelque chose" établissant une relation entre les deux tables hormis le matricule.

Dans le fichier c'etait ma demande il y a dans le resultat des lignes vides.

C'est le cas par exemple quand un matricule a plusieurs certificats liés à la période concernée.

J'aurais voulu que cette partie (soit ces renseignements signalétiques) soit garnie et non pas vide.

Donc qu'à chaque cerficat corresponde une période.

Cela revient a reproduire la même période et non pas laisser les cellules vides.

Ce que j'ai pour le moment (ma demande initiale) :

01-01-24 31-07-24 6550569 X Y 24 213 60 25522 Employé Partiel ZZZZ 0,37 08-01-24 10-01-24 6550569 X 3
05-02-24 11-02-24 6550569 X 7

Ce que je devrais avoir ...

01-01-24 31-07-24 6550569 X Y 24 213 60 25522 Employé Partiel ZZZZ 0,37 08-01-24 10-01-24 6550569 X 3
01-01-24 31-07-24 6550569 X Y 24 213 60 25522 Employé Partiel ZZZZ 0,37 05-02-24 11-02-24 6550569 X 7

Bonjour à tous !

Le "quelque chose" devient précis.....

Question : l'intégralité des champs des deux tables doit être préservée dans l'état final ? Si certains champs sont inutiles, une suppression peut être envisagée ce qui améliorerait la célérité de la requête.

Merci encore JFL.

Cela me semble bien sur mes premiers tests.

Pour répondre à votre question, il ne faut pas supprimer les données car j'ai besoin de la base signalétique même si il n'y a pas de certificats pour cette personne sur la dite période.

Par contre, comme on dédouble les lignes signalétiques, j'ai trop de jours dans le signalétique. J'ai avec ma derniere demande des doublons, ce qui est normal mais m'ennuie maintenant légèrement.

D'où ma dernière question... est-il possible quand on reproduit la ligne signalétique comme vous le faites ici, de ne pas dans ce cas garder la valeur dans les cellules x ? Donc, on ne garde que quand elles sont nativement dedans et pas pour les lignes reproduites ?

Bonjour à tous de nouveau !

Seul le champ "X" de la table Signalétique est concerné ?

Si tel est le cas, il faut modifier la dernière étape de la requête "Résultat".
Le code à copier/coller est :

= Table.FillDown(ColRenom, List.RemoveItems(ChamSig,{"X"}))

Bonjour JFL,

Bonjour à tous,

J'ai pris un peu de temps pour tester. Le résultat demandé est atteint et je t'en remercie.

Par contre, en effet, je ne sais si c'est du à la puissance de mon PC cela prend énormément de temps.

Ce n'est pas très grave, juste ennuyant parce que je dois y aller par petits paquets. Je suis à plus de 2 heures pour 1000 lignes.

En analysant les données, je pense que j'ai trouvé la solution à mon problème de jours dans le signalétiques qui si je fais ce j'ai demandé ici. Avec la présentation actuelle, nous recopions la ligne du signalétique sur la ligne vide qui est créée quand il y a plusieurs certificats sur une même période pour la personne.

Donc, pourrions-nous avoir l'information des jours uniquement de deux manières différentes. Une fois comme maintenant, donc recopiée et une fois vide comme est l'information native ?

Désolé de revenir encore à la charge ...

Merci d'avance pour ton aide si c'est possible

Bonjour à tous !

En analysant les données, je pense que j'ai trouvé la solution à mon problème de jours dans le signalétiques qui si je fais ce j'ai demandé ici. Avec la présentation actuelle, nous recopions la ligne du signalétique sur la ligne vide qui est créée quand il y a plusieurs certificats sur une même période pour la personne.

Donc, pourrions-nous avoir l'information des jours uniquement de deux manières différentes. Une fois comme maintenant, donc recopiée et une fois vide comme est l'information native ?

Concernant la lenteur constatée, il est vrai que la puissance du matériel est un facteur important. Ceci dit, sur mon ordinateur portable (de nature assez véloce), le traitement est tout de même long. Est-ce le prix à payer pour obtenir ce retraitement que je juge "tordu" ?
Peut-être qu'une autre vision vous sera proposée ?!

Pour ce qui est de la dernière demande, je n'ai absolument rien compris....
Prenez l'habitude de joindre un classeur avec le résultat attendu.

Bonjour JFL,

Je vais arrêter ici et me débrouiller avec l'outil que vous avez créé ce qui est déjà très bien.

Je vous remercie.

A.G.

Bonjour à tous de nouveau !

Je vous remercie de ce retour.

----> Ne pas oublier de passer le sujet en mode résolu ! (Important pour les recherches potentiellement identiques)

Bonjour JFL,

Je suis désolé de relancer la discussion mais j'ai un gros souci. Je ne parviens plus à avoir les le résultat (synthèse des 2 onglets) après le chargement de nouvelles données. J'ai repris le fichier (celui de mardi passé) directement ici et cela ne donne rien.

Cela a fonctionné pourtant.

Rechercher des sujets similaires à "fusion deux onglets base matricule commun"