XL 2016 Transfert de données d'un tableau à un autre

Tamalou

XLDnaute Nouveau
Bonjour à tous,

Je cherche à renseigner un TS plus ou moins automatiquement. Mon classeur dans lequel j'ai une feuille par personne avec un TS qui je l'aimerais sera complété régulièrement avec des infos qui proviennent d'un extrac d'un logiciel de pointage (qui est inexploitable en l'état) qui sera extrait périodiquement et enregistré sous le même nom.

Je souhaiterais dans un premier temps trouver une solution pour ajouter ces données (heures de pointages) aux tableaux de chaque personne et au vu de l'architecture du fichier extrait c'est pas évident...
Je bloque sur cette étape de transfert de donnée d'un tableau à un autre.

Je cherche mais mes connaissances sont malheureusement insuffisantes j'ai bien pensée à extraire via Power Query 1 TS par personne grâce aux n° de matricules mais cela nécessiterai de rentrer les dates dans chaque tableaux au préalable et actualiser chacune des requêtes donc ça devient ingérable avec nombres élevé de personnes dans l'équipe. De plus je ne sais pas si les anciennes données seraient conservées... Il faut pouvoir retrouver les pointages en amont.

Voici 2 fichier pour aider à la compréhension et peut-être une solution.

Merci d'avance!!
 

Pièces jointes

  • Extract.xlsx
    66.8 KB · Affichages: 11
  • matrice heures perso.xlsx
    26.6 KB · Affichages: 9

merinos

XLDnaute Accro
Bonjour @Tamalou ,

il est possible d'importer toutes les données des tableaux en une fois...

j'ai remplis quelques lignes, et mon query prends tous les elements du type "tableau", les filtre , puis recupère les données.
(le truc c'est d'effacer la ligne qui ouvre une table pour decouvrir le contenu du fichier Excel...)


Il existe un aute cas: si les tableaux avec l'encodage des heures sont dans des ficheirs differents....
 

Pièces jointes

  • Extract.xlsx
    77.5 KB · Affichages: 4
  • matrice heures perso.xlsx
    27.1 KB · Affichages: 3

chris

XLDnaute Barbatruc
Bonjour à tous

Je n'ai pas compris la même chose que merinos

Dans ton modèle je ne vois pas d'où tu tires Heure sup

Modifier
  • le chemin dans la cellule jaune
  • les paramètres PowerQuery pour gérer ce chemin passé comme paramètre
    Lancer PowerQuery, Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité
puis actualiser la requête
 

Pièces jointes

  • matrice heures perso2.xlsx
    28.9 KB · Affichages: 4
Dernière édition:

Tamalou

XLDnaute Nouveau
Bonsoir @merinos , @chris ,

Avant toutes choses merci beaucoup de pour vos retours!

@merinos , je pense avoir été brouillons dans mes explications car il me semble que tu as pris le problème à l'inverse, my bad... mais cela n'en est pas moins intéressant, il faut en effet que je me penche sur chaque étape pour bien comprendre le but de chqune d'entre elles.

Pour ma situation actuelle je pars de cet extract
1700090725318.png

Et dans l'idéal j'aimerais parvenir a quelque choses de ce genre là :
1700090848297.png

pour chacune des personnes de l'équipe ce qui actuellement représente une trentaine de personnes...


@chris , c'est bien ce que je dans cette direction que je souhaite aller, concernant les heures supplémentaires j'ai une formule basique dans mon tableau pour les calculer car je retrouve régulièrement des erreurs dans les décomptes rapportées par le logiciel... en gros les colonnes des heures travaillées, supplémentaires ainsi que le poste seront pour les heures calculées automatiquement et le poste occupé sera lui renseigné manuellement car il ne figure pas dans les données.

C'est déjà une belle progression, on se retrouve avec un tableau plus lisible chaque personne est identifiées, merci beaucoup!!! Et je découvre l'ajout de fonction avec power query, je devrais même pouvoir faire les calculs des heures depuis là =)

Maintenant le plus compliqué je penses, trouver le moyen de renseigner les feuilles de chaque personnes avec les données obtenues.

1700092639076.png


Pas évident tout ça, mais ça prend forme grâce à vous donc un grand merci pour votre partage à tous !!!
 

chris

XLDnaute Barbatruc
Bonjour

Il suffit de scinder la requête en 2 et d'afficher chacune dans un onglet mais j'imagine que tu as plus de 2 employés...

Plusieurs approches sont possibles : est-il indispensable d'avoir un tableau par employé sachant qu'avec un simple segment on filtre d'un clic l'employé voulu ou qu'a partir du choix d'un employé dans Excel on peut filtrer la requête (on ne lit jamais plus d'un onglet à la fois...) ?

Sinon il faudrait un tableau listant les employés et un code VBA pour extraire de la requête initiale, une requête par employés à charger dans un onglet.
La liste des employés peut éventuellement être extraite du fichier Extract.

Mais je ne sais plus si 2016 intégrait déjà le modèle objet Powerquery dans VBA...
 

merinos

XLDnaute Accro
Effectivement:
Plusieurs approches sont possibles : est-il indispensable d'avoir un tableau par employé sachant qu'avec un simple segment on filtre d'un clic l'employé voulu ou qu'a partir du choix d'un employé dans Excel on peut filtrer la requête (on ne lit jamais plus d'un onglet à la fois...) ?

Quand on a 300 "employés" ou autre raison de créer une feuille, cela devient très lourd, alors que le segment est super simple.
 

Tamalou

XLDnaute Nouveau
@chris ,@merinos Merci du temps accordé a mon problème.

Alors en effets actuellement l'équipe comporte une trentaine de personnes, et non il n'y a pas d'impératif d'avoir une feuilles par employés, je pensais que ce serais plus simple et lisible ainsi... ^^ je faisais fausse route apparemment !!!

Donc je dois regarder ce que représente les "segment" car je n'y connais rien. Juste pour savoir, la segmentation me permettra par la suite de mettre en place des TCD pour afficher le nombres d'heures par semaine/moi d'un employé, le pourcentage de personnes affectés sur chaque poste par semaine/mois ...

Pour ce qui est du modèle objet dans Power Query 2016 je vais regarder au boulot, ma version perso est 2019 donc j'ai parfois des surprises sur ce que je mets en place!

Ce ne sera pas utile du coup pour ce projet en choisissant la segmentation mais pour d'autres sans aucun doute, donc le code VBA pour extraire une requête en fonction d'une donnée est compliqué? Je fait du VBA simple en reprenant et adaptant des sujet trouvés ici et là.

Enfin bon encore merci pour vos explications et orientations.

Bonne journée
 

merinos

XLDnaute Accro
Bonjour @Tamalou ,

tu dispose de 2 type de segments:

A. des segments lié à des tableaux simples (via l'onglet"tableaux")
1700227611015.png

Ceux-ci sont liés à un seul tableau. Ces segements n'ont pas d'influance sur les données, mais seulement sur le visuel des tableaux (y compris les totaux)

B. des segments liés a PowerPivot, qui sont donc lié a des pivots
1700227708485-png.1183994


Les segments (slicers) peuvent être liés a plusieurs pivot en même temps.


A+

Merinos
 

Pièces jointes

  • 1700227708485.png
    1700227708485.png
    14.1 KB · Affichages: 85

Tamalou

XLDnaute Nouveau
Bonjour @merinos

En effet les segments sont simple d'utilisation et vraiment pratique, je suis frustré de les découvrir seulement maintenant !!

Donc après une petite réflexion et la découverte des segments j'abandonne l'idée d'une feuille par personnes bien trop lourd et inutile avec cet outil.

Cependant je dois toujours copier les données de Power Query dans une sources de données pour pouvoir exploiter toutes ces infos couplées avec d'autres notamment le poste qui ne peut être rentré que manuellement.

J'essai de mettre quelque chose en place avec ce que vous m'avez apportés comme solution avec chris pour repartir avec un fichier adapté, mais en partant du fichier de base avec les noms et prénoms des employés l'ajout de la colonne employé pose de nouveaux problèmes... une petite adaptation est nécessaire.

Passe un bon Week-end et merci pour tout.

Cdlt

Tamalou
 

Tamalou

XLDnaute Nouveau
Bonjour @chris , @merinos

Alors je vous joints ci-dessous une simple capture pour un explicatif grossier de ce que je cherche à faire avec ce fichier et dans quel but. J'ai pas mal de route à faire cet après midi, je m'attarderais cette semaine à appliquer ce dont je suis capable de mettre en place!

1700396269163.png


Bon week-end !!!
 

merinos

XLDnaute Accro
Bonjour @Tamalou ,

Cependant je dois toujours copier les données de Power Query dans une sources de données pour pouvoir exploiter toutes ces infos couplées avec d'autres notamment le poste qui ne peut être rentré que manuellement.

il existe une solution qui permet de garder en regard de query des données que l'on entre manuellement.

l'idée général est de faire un query qui prends les annotations puis on les rapatrie avec les nouvelles données.

a+

Merinos
 

Pièces jointes

  • PD Conserve annotations.xlsx
    17.8 KB · Affichages: 7

chris

XLDnaute Barbatruc
Bonjour

Si je comprends bien on peut obtenir ceci
1700401821167.png

et tu ajoutes le poste à la main ?
Il serait plus sûr et moins lourd d'avoir un autre tableau avec
(Employé,) Matricule, N°semaine, Poste
croisé dans PowerQuery avec le résultat de l'extract.

Concernant la consolidation annuelle tu as un classeur extract par mois ? Sinon précise.
Il est possible de traiter un dossier contenant les n extract et non un fichier.

Pour les stats la meilleure approche est souvent TCD/GCD ou là aussi les segments facilitent une analyse plus ou moins fine selon le choix.
 
Dernière édition:

Tamalou

XLDnaute Nouveau
@merinos il se peut que je n'ai pas compris comment cela fonctionne mais en apportant de simples modifications a ton fichier j'ai l'impression que lorsque je ferais mon second extract qui viendra écraser le précédent à l'actualisation de PowerQuery j'aurais bien les commentaires mais ils ne correspondrons plus au poste auxquels la personne est affectée cette semaine là.

Partons du fait que j'effectue 1 extract par mois il faut que j'ai une vue globale de qui a fait quoi, ou avons nous été le plus sollicité ect...

@chris en effet je penses que l'on peut obtenir quelque chose de semblable, je pensais ajouter les postes à l'aide d'un userform renseigné à la semaine, lors de l'ajout à ce tableau des données extraites.
Mais je dois reconnaitre que faire un tableau à part et associés de TCD serait sans doute plus simple.

Mais il faudrait pouvoir avoir les heures de tout le monde sur les 52 ou 53 semaines de l'année.

Je vous remercie de prendre autant de temps à m'aider, m'expliquer toutes les possibilité qui s'offre à moi et comment on peut les mettre en place.
 

Discussions similaires

Réponses
7
Affichages
349

Statistiques des forums

Discussions
312 206
Messages
2 086 226
Membres
103 159
dernier inscrit
FBallea