|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Il faut que je calcul le nombre de weekend travaillé pour chaque collaborateur d'un entreptrise.
J'ai forcement les dates de travail effectrives. Mais comment calculer le nombre de weekend travaillé ? A savoir un weekend correspond à un samedi et dimanche suivi, ou un dimanche et lundi suivi. J'avoue ma peine, je ne trouve aucune solution de calcul ? Quelqu'un peut-il m'aider ?? Merci |
|
|
00
|
|
|
#2 | ||
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Procédons par etape :
Tu as x Collaborateurs Pour chaque collaborateur tu as des jours travaillés. Si un Samedi+Dimanche OU Si Dimanche+Lundi travaillé alors WE travaillé Tu fais un état avec un groupe collaborateur trié par date (Elles vont donc arriver dans l'ordre En debut de groupe tu initialises une variable WE à 0 et une variable X à 0 En detail il te faut une formule où si tu tombes sur un samedi ou un dimanche ou un lundi. Code :
Tu peux facilement optimiser le code je pense. Qu'en penses tu ??
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Je suis aller dans l'atelier de formule sous formule de séléction et j'ai trouver séléction de groupe....jusque là tout va bien ???
J'ai mis Il me met le résultat doit être booléen ?? Je comprends pas tout.. Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Je viens de comprendre ...
Il ne s'agit pas "formule de selection de groupe" mais de formules à créer et à placer sur l'etat en debut de groupe. Tes variables doivent aussi être globales. regarde le topic "Pb de sommes", il y a un exemple d'utilisation de formules....
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
J'ai compris 2 3 choses aussi et j'en suis là:
Code :
QU'en penses-tu ? Merci beaucoup pour ta patience |
||
|
|
00
|
|
|
#6 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
J'ai mal compris ta remarque, je rectifie :
Non parce que X sera remise à 0 le lundi .... donc le problème des WE non contigus ne se posent pas ...
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#7 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Mais il faut que tu m'expliques aussi de quelles données tu disposes ... Chaque jour est une donnée ou tu disposes de périodes recoupées du style (Lundi Debut Activité, fin activité Samedi etc...).
En fonction de ton jeu de données, la manière de les interpréter sera différente...
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Salut
Une table collaborateur liée à une table activité. Chaque collaborateur peut avoir plusieurs activités par jour, l'activité a une start activité du type date heure 01.02.2004 00:08:15 et forcément une end activité dont je ne m'occupe pas. J'ai donc plein de doublons mais qui ne devrait pas causer de soucis particulier vu que l'enchainement de date ne se passera qu'un fois. Donc la réponse est chaque jour plusieurs données. Merci encore de ton aide |
|
|
00
|
|
|
#9 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
As-tu des données pour l'activité congé, RTT, etc ... :
Ensuite du lundi au samedi, je suis en congé et je reprends le lundi d'après. Que se passe-t-il au niveau de tes données... As-tu un code Activité congé avec un début et fin dans ta table Activité ?? Lors d'un congé, on doit réinitialiser X à 0, et pour pouvoir le faire, il faut connaitre l'information
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Oui l'activité à un code d'absence
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
J'ai selon tes précieux conseils déclaré 2 variables ainsi
et l'autre je les ai placées dans le groupe collaborateur. Ensuite je fais un très simple calcul que je place dans le détail: Je suppose qu'il devrait s'incrémenter de 1 à chaque ligne mais il reste désepérement à 1. Je fais forcément une erreur mais où ? Merci |
|
|
00
|
|
|
#12 |
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
n'oublie pas le WhilePrintingRecords en entete de tes formules ...
Ca devrait marcher un peu mieux ... Tu pourrais aussi peut-être faire un groupe sur Activite.date (Rupture Jour) Debut Collaborateur --> Tu remets X et WE à 0 Debut Activite.Date Detail --> Ici tu ne fais rien et n'affiche rien Fin Activite.Date -> C'est là que tu testes avec ta formule X et WE Fin collaborateur --> Et là tu affiches le nombre de WE Et là je suppose que tu as au moins 1 enregistrement dans la table activité par jour ....
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Bon, effectivement, ton truc fonctionne du feu de dieu, mais forcément il y a un couac.....
Il n'y a pas, comme dit dans ton message, une activité par jour. Du fait qu'il y a des trous, j'ai choisi l'option d'enlever toutes les absences. J'y ai repassé 6 heures sans trouver de solution. As-tu une autre idée lumineuse ? Gracias |
|
|
00
|
|
|
#14 | ||
![]() ![]() Nicolas LAURETChef de projet en SSII Inscription : novembre 2003 Messages : 1 024 ![]() |
Tu peux par exemple avoir une variable DateM Globale où en fin de groupe date tu vas conserver la date courante... et la tester juste avant dans ta formule ...
Si la date courante a une différence supérieure à un 1 jour par rapport à la date précédente, tu mets X à 0. Recap : Code :
Debut Etat : DateM = Datebidonassez ancienne
Code :
enfin c'est juste une idée pour essayer de compenser les blancs dans ton activité. EDIT Il y a une erreur dans mon raisonnement :
__________________
Modérateur Business Intelligence / Windev A lire avant de poster Si vous avez obtenu la réponse à votre question alors cliquez sur le bouton
|
||
|
|
00
|
|
|
#15 | ||
|
Invité de passage
![]() Inscription : mai 2004 Messages : 10 ![]() |
Finalement , nous sommes arrivés au bout de nos peines, merci beaucoup pour l'aide. Voici la formule magique, si elle peut servir...
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com