Microsoft 365 Absentéisme : création d'un 3ème tableau à partir de 2 tableaux distincts

José FELIX

XLDnaute Junior
Bonjour à tous

Merci de votre aide : je vais essayer d'être le plus clair possible dans ma requête.

Nous sommes une société de 300 personnes avec un SIRH plutôt "moderne" mais dont le requeteur montre rapidement ses limites, quand bien même il travaille "sous BO". C'est pour cela que, en complément, je suis dans l'obligation de poursuivre mes investigations sous Excel.

La problématique actuelle est la suivante :
- nous disposons d'un premier fichier - présence théorique - qui explique, en colonne "02 - heures standard", pour chaque jour calendaire, les heures théoriquement attendues et en colonne "11 - Total absences (heures)", les heures d'absence. Nos collaborateurs peuvent travailler le samedi et le dimanche par rotation.
- nous disposons d'un 2nd fichier qui précise, pour chaque jour calendaire, les heures attendues "02 - heures standard", les heures d'absences, le code de l'absence et le libellé de l'absence.

Bizzarement, BO ne sait pas mettre les données ensembles pour chaque jour calendaire sans doubler les heures d'absences. Ne me demandez pas pourquoi. Le fait est que cela ne fonctionne pas car quand on demande à BO les heures d'absences, il ne sort plus les jours travaillés.

Je sais pouvoir compiler, dans un 3ème fichier, l'ensemble des données pour tous les salariés et pour tous les jours calendaires. Mais je n'ai pas trouvé de solution rapide et efficace. A ce stade, pour faciliter le traitement, je n'ai mentionné que 2 salariés. Dans la vraie vie, j'en ai 200 pour 365 jours dans l'année. Un traitement manuel étant difficile, je suis preneur de tout traitement automatisé qui me permettrait de "recoller" les informations dans le même fichier : ""02 - heures standard", "11 - Total absences (heures)", "Justification absence (Code)", "Justification absence (Libellé)", pour chaque salarié, pour chaque jour calendaire.

Merci de votre temps et de votre regard.

Bien cordialement.
 

Pièces jointes

  • Présences théoriques avril - Version XLD.xlsx
    12.7 KB · Affichages: 14
  • Absence réelle avril - Version XLD.xlsx
    10.5 KB · Affichages: 14

ChTi160

XLDnaute Barbatruc
Bonsoir José
tu dis :
qui me permettrait de "recoller" les informations dans le même fichier : ""02 - heures standard", "11 - Total absences (heures)", "Justification absence (Code)", "Justification absence (Libellé)", pour chaque salarié, pour chaque jour calendaire.
Pourrais-tu mettre un exemple de ce que tu veux obtenir ?
Exemples et explications ( Patati et Patata)
tu parles aussi de :
Je sais pouvoir compiler, dans un 3ème fichier
cela peut-il se faire dans le Fichier Source ex "Présences-théorique Avril"
tu travailles donc sur des Fichiers Mensuels ?
Explique Nous !
Merci par avance
Jean marie
 
Dernière édition:

José FELIX

XLDnaute Junior
Bonsoir Jean-Marie

Effectivement, partant du principe que le fichier de présence théorique est le fichier « source », j’ai besoin d’ajouter, pour chaque jour calendaire d’absence, le code d’absence et le motif de cette dernière. Au final, à date, j’ai les heures de présence et d’absence dans un fichier et dans un autre, j’ai le code et le libellé de la nature de l’absence.

Si je pouvais savoir toutes les informations sur le fichier source, je pourrai alors user d’excel pour calculer taux de présence et taux d’absence par service et par direction, et par motif ☺️

Merci de votre regard.
 

ChTi160

XLDnaute Barbatruc
Re
Je suis Mort de Rire
Car moi les formules je n'y connais presque rien Lol
Tu auras peut-être un as des formules ou via Power query pour répondre à ta demande !
Moi je suis plutôt VBA donc je vais attendre et si rien, je te proposerai peut-être une solution VBa
Autre question :
Tu auras tes deux fichiers ouverts ?
Bonne fin de Soirée.
Jean marie
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil,

Dans le classeur joint vous verrez deux Requêtes Power Query.

La première, nommée "Absences" va interroger le classeur des absences qui pour le moment DOIT être dans le même répertoire que le classeur joint.

La seconde nommée "RQ_Récûp_Justification" interroge le tableau des présences et associe les informations.

Le tableau des présences a été transformé en tableau structuré nommé "Présences" pour le besoin de la requête.

Dans la feuille "PQ"
A1 est nommée "Dossier" et doit contenir le nom du répertoire contenant le classeur des absences.
Actuellement ce nom est retourné par formule. Si c'est le mauvais dossier qui est affiché, recalculer la feuille ou entrez le nom du dossier manuellement.

Le nom du fichier quant à lui est écrit en dur dans la requête il pourra être paramétré ultérieurement;
Tout peut-être modifié dans PQ.

Dans cette exemple on retourne Toutes les colonnes de "Présences" avec celles uniquement désirées de "Absences" pour former un troisième tableau qui contient tout
Mais on pourrait très bien retourner un tableau qui ne contiennent que les lignes pour lesquelles il y a des information dans "présences et absence" avec seulement 3 colonnes "Matricule, code et motif" sur lequel vous pourriez faire vos recherchex

Si vous avez plusieurs fichiers "Absences" à traiter, on peut également prévoir d'interroger le dossier entier ou de sélectionner certains des fichiers s'ils ont dans leur nom une racine, un préfixe ou suffixe commun.

A vous de voir.

Mettre le fichier joint dans le même répertoire que le répertoire du fichier des absences joint dans votre premier post.
 

Pièces jointes

  • PQ récupération justification absences.xlsx
    28.5 KB · Affichages: 10
Dernière édition:

José FELIX

XLDnaute Junior
Bonsoir le fil,

Dans le classeur joint vous verrez deux Requêtes Power Query.

La première, nommée "Absences" va interroger le classeur des absences qui pour le moment DOIT être dans le même répertoire que le classeur joint.

La seconde nommée "RQ_Récûp_Justification" interroge le tableau des présences et associe les informations.

Le tableau des présences a été transformé en tableau structuré nommé "Présences" pour le besoin de la requête.

Dans la feuille "PQ"
A1 est nommée "Dossier" et doit contenir le nom du répertoire contenant le classeur des absences.
Actuellement ce nom est retourné par formule. Si c'est le mauvais dossier qui est affiché, recalculer la feuille ou entrez le nom du dossier manuellement.

Le nom du fichier quant à lui est écrit en dur dans la requête il pourra être paramétré ultérieurement;
Tout peut-être modifié dans PQ.

Dans cette exemple on retourne Toutes les colonnes de "Présences" avec celles uniquement désirées de "Absences" pour former un troisième tableau qui contient tout
Mais on pourrait très bien retourner un tableau qui ne contiennent que les lignes pour lesquelles il y a des information dans "présences et absence" avec seulement 3 colonnes "Matricule, code et motif" sur lequel vous pourriez faire vos recherchex

Si vous avez plusieurs fichiers "Absences" à traiter, on peut également prévoir d'interroger le dossier entier ou de sélectionner certains des fichiers s'ils ont dans leur nom une racine, un préfixe ou suffixe commun.

A vous de voir.

Mettre le fichier joint dans le même répertoire que le répertoire du fichier des absences joint dans votre premier post.
Bonjour Hasco et merci de votre retour. Je me mets de suite à la tâche et je reviens vous dire de quoi il en retourne. A noter, il n'y a pas d'obligation, dans mon esprit, à faire un 3ème tableau. Si l'un des deux est complètement renseigné grâce à l'autre, cela me va tout aussi bien :)

A très vite.
 

José FELIX

XLDnaute Junior
Bonjour Hasco

Quand vous dites "
Dans la feuille "PQ"
A1 est nommée "Dossier" et doit contenir le nom du répertoire contenant le classeur des absences."
faut-il mettre le chemin du fichier ou "juste" le nom du fichier ?

Totalement novice avec PowerQuery, je sens que je vais vous poser beaucoup de question. Merci de votre patience avec un nob ;)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Tout est dit dans mon premier post ! Lisez sans vous précipiter.
Voici une version corrigée et commentée.
Dans la feuille PQ du fichier joint, la plage B1:C2 se nomme "Paramètres"
En C1 mettez le nom du répertoire* qui contient le fichier sans oublir l'anti-slash final (\)
En C2 mettez le nom du fichier et son extension.
Lorsque tout est prêt, click-droit dans une cellule du tableau vert puis "Actualiser" ou bouton "Actualiser" de l'onglet de ruban "Données".
Pour voir les requêtes, cliquez dans le tableau vert, un onglet de ruban "Requête" s'affiche, cliquez sur le bouton "Modifier" qui s'y trouve, à gauche.

Dans l'éditeur Power Query qui s'ouvre alors, dans le volet droit il y a la liste des étapes des requêtes. Laissez traîner le curseur de la souris sur ces noms pour faire apparaître le commentaire associé.


Je ne vais pas être très disponible aujourd'hui ou si je réponds, ce sera à partir de mon téléphone.

Voici quelques lectures qui méritent qu'on s'y attarde pour démarrer

* répertoire (pour les vieux) = dossier (pour les moins vieux)

P.S. je repasserai par ici en fin d' après-midi ou début de soirée
 

José FELIX

XLDnaute Junior
Bonjour,

Tout est dit dans mon premier post ! Lisez sans vous précipiter.
Voici une version corrigée et commentée.
Dans la feuille PQ du fichier joint, la plage B1:C2 se nomme "Paramètres"
En C1 mettez le nom du répertoire* qui contient le fichier sans oublir l'anti-slash final (\)
En C2 mettez le nom du fichier et son extension.
Lorsque tout est prêt, click-droit dans une cellule du tableau vert puis "Actualiser" ou bouton "Actualiser" de l'onglet de ruban "Données".
Pour voir les requêtes, cliquez dans le tableau vert, un onglet de ruban "Requête" s'affiche, cliquez sur le bouton "Modifier" qui s'y trouve, à gauche.

Dans l'éditeur Power Query qui s'ouvre alors, dans le volet droit il y a la liste des étapes des requêtes. Laissez traîner le curseur de la souris sur ces noms pour faire apparaître le commentaire associé.



Je ne vais pas être très disponible aujourd'hui ou si je réponds, ce sera à partir de mon téléphone.

Voici quelques lectures qui méritent qu'on s'y attarde pour démarrer


* répertoire (pour les vieux) = dossier (pour les moins vieux)

P.S. je repasserai par ici en fin d' après-midi ou début de soirée
Merci Hasco. Mon actualité professionnelle mais laisse peu de temps et j'apprécie sincèrement que vous me donniez un peu du vôtre. Je vais donc prendre le temps de relire le tout à l'aide de vos explications et, si je n'y arrive pas, alors je vous envoie un tel. en mp.

Merci encore.
 

José FELIX

XLDnaute Junior
Ré,

Non, non, pas en messagerie privée. Nous sommes sur un Forum public. Les échanges concernant vos problèmes excel doivent rester publics.
OK. Bon...Je n'aime pas ne pas comprendre ce qui se passe dans Excel. Alors j'ai essayé de reproduire vos travaux dans PowerQuery. Le lien que vous m'avez transmis est très utile, merci :) Ayant été formé par le passé à Access et à DB, j'ai des "restes" de connaissance en matière de liaison de tables.

En suivant le lien et vos instructions, j'ai "réussi" à créer mes deux tables dans un nouveau fichier.
Ensuite, j'ai créé les liens d'indexation entre deux éléments de la table : d'une part les matricules, ensuite les dates des jours. Donc, dans mes esprits, les tables sont reliées sur 2 points : matricule et dates (j'espère bien m'exprimer). Et ensuite...le "drame" : lorsque je demande la fusion des données, PQ créé des doublons, et encore, pas pour tous les enregistrements. J'ai eu beau regarder et analyser vos requêtes, j'ai dû louper une étape...Mais je ne sais pas laquelle.

Je veux comprendre car je souhaite pouvoir reproduire pour d'autres informations.

Mais après plus de 2 heures de recherche, j'ai dû abandonné car je n'ai pas réussi à faire la fusion des deux tables. J'ai pourtant lu, lu et relu votre 2nd post mais je n'ai pas trouvé de commentaires...ou alors, je n'ai pas compris "où ils étaient". Je vois bien que vous avez fait quelque chose mais je n'arrive pas à le reproduire. Je suis trop "nul".

Un petit "pas à pas" ne serait pas de refus :) Si vous avez le temps bien sûr.
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sans exemple sous les yeux, je ne peux pas savoir ce qui ce passe.
Je suppute que vous avez mal choisit votre type de relation et que vous avez croisé vos tables.
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Me revoilà, mais devant mon ordi, ce sera plus facile :)

Si vous double-cliquez sur l'étape "Requêtes fusionnées" de l'exemple donné plus haut, la fenêtre suivante s'affiche :
1683794692356.png

Dans Type de jointure, sélectionnez la première option.

Cordialement
 

Pièces jointes

  • 1683794510472.png
    1683794510472.png
    55.8 KB · Affichages: 15

Discussions similaires

A
Réponses
5
Affichages
676
A