OVH Cloud OVH Cloud

Calcul Date

34 réponses
Avatar
Manu
Bonjour,

J'ai un calcul compliqué que je souhaite faire afin d'en avoir une synthèse
dans un TCD, je vais tacher d'être clair... le but étant de connaitre par
employé le nombre de jours ouvrés de maladie par mois et par an.

J'ai en colonne A tous les employés
En colonne B (si c'est inscrit "début", cela signifie que la maladie démarre
; si c'est inscrit "prol", cela signifie que c'est une prolongation de
maladie ; si c'est inscrit "reprise" cela signifie la date de reprise)
En colonne C les dates de "début"
En colonne D les dates de "prol" si prolongation il y a
En colonne E les dates de "reprise"

En sachant qu'un employé peut être malade plusieurs fois, et que cette feuil
prend en compte plusieurs année de gestion de maladie.

Comment puis je dans un TCD connaitre le nbr de jours ouvrée (on ne s'occupe
pas des jours fériés) de maladie par mois et par année pour chaque employé.

Je tourne en rond avec des formule intermédiaires, mais je m'embourbe.

Merci du coup de main.

Manu


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

10 réponses

1 2 3 4
Avatar
Michd
Le modèle proposé "employé absence.xltx" est relativement simple
d'utilisation.
Le "Hic", c'est le temps requis pour saisir chaque jour dans le tableau, les
gens qui s'absentent pour un congé maladie. Ceci suppose que l'entreprise a
mis en place un système qui permet de récupérer cette information au
quotidien. Plus le nombre d'employés est grand, le temps demandé pour cette
tâche s'accroît!
MichD
"Manu" a écrit dans le message de groupe de discussion :
pag51r$r8l$
Tu as raison, il n'y a rien de facile ! Merci Mich, l'idée est excellente et
j'ai bien compris, mais imaginons divers employés malade pendant plusieurs
mois voir plusieurs années.... ca risque vite d'être lourd car ce sera une
ligne par mois (un employé malade un an, devra être répété sur 12 lignes)
Mais étant donné que notre BDD de départ n'a pas la meilleure structure....
J'avais également pensé mettre dans la BDD des colonnes par mois, mais ca ne
collait pas non plus sur le nombre d'année et la synthèse du TCD
Pas facile du tout
Manu
"Michd" a écrit dans le message de groupe de discussion :
pafrb0$6uq$
Un autre type de modèle à adapter
https://www.cjoint.com/c/HDjn0rq3RWi
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Michd
Regarde mon fichier, je crois que tu vas aimer.
https://www.cjoint.com/c/HDju5PfZd2i
La petite macro simplifie drôlement la tâche!
MichD
Avatar
Michd
C'est le même fichier que le précédent, mais il est plus complet!
https://www.cjoint.com/c/HDkcNEiZ6SF
MichD
Avatar
Manu
Bonjour,
Effectivement, c'est du tonnerre ! Merci Mich
Mais car il y a quand même un "mais" le soucis est pour l'analyse des
maladies des années précédentes déjà tapé, et j'ai un recul jusqu'à 2013, il
va falloir modifier cette bdd des années précédentes.... quel boulot ! Mais
d'un autre côté, je ne vois pas d'autres solutions, il aurait fallu adopter
ta solution dés le début. En tout cas, c'est nickel pour l'avenir !
Encore merci Mich & Jacques
Papy Manu
"Michd" a écrit dans le message de groupe de discussion :
pah885$kj1$
C'est le même fichier que le précédent, mais il est plus complet!
https://www.cjoint.com/c/HDkcNEiZ6SF
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Michd
Si jamais tu adoptes cette solution, il est préférable de placer le TDC dans
une autre feuille. Et, dans le module de cette feuille, tu ajoutes ces
quelques lignes de code qui vont mettre à jour le TDC de la feuille à chaque
fois que tu sélectionnes cette feuille. Tu enlèves la ligne de code
responsable de la mise à jour du TDC dans la procédure du module1. Elle
n'est plus requise.
'-------------------------------------------------------
Private Sub Worksheet_Activate()
Me.PivotTables(1).PivotCache.Refresh
End Sub
'-------------------------------------------------------
Dans le module de la feuille de données, cette macro est suffisante :
'-------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then
If Range("B" & Target.Row) = "" Then
Range("D" & Target.Row - 1).Offset(1).FillDown
End If
End If
Application.EnableEvents = True
End Sub
'-------------------------------------------------------
Suggestion : Avant de formater les anciennes données selon ce modèle, si tu
n'es pas dans l'urgence, pourquoi ne pas tester ce modèle durant quelques
mois et voir comment il s'acquitte de la tâche ? Ça, c'est le seul vrai test
valide...
MichD
Avatar
Michd
Dans le tableau de ton fichier, comment "Christian" peut-il reprendre le
travail en D4 alors qu'il a déjà repris le travail en D3? Entre les 2
reprises, à quel moment s'est-il absenté? Bizarre?
MichD
Avatar
Manu
Tu as raison, à la place de 03/02/2014 c'est 03/02/2015 (désolé pour
l'erreur)
------- CHRISTIAN Reprise 03/02/2015-------------
CHRISTIAN début 27/12/2014
CHRISTIAN Reprise 24/08/2013
CHRISTIAN début 19/08/2013
Manu
"Michd" a écrit dans le message de groupe de discussion :
paieb9$mkt$
Dans le tableau de ton fichier, comment "Christian" peut-il reprendre le
travail en D4 alors qu'il a déjà repris le travail en D3? Entre les 2
reprises, à quel moment s'est-il absenté? Bizarre?
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
Michd
Regarde ton fichier ici : https://www.cjoint.com/c/HDlr4IGfQfi
MichD
Avatar
Michd
Bonjour,
Un fichier qui fonctionne correctement.
Prends le temps de lire les commentaires avant d'exécuter la macro.
https://www.cjoint.com/c/HDlxmsccYpi
MichD
Avatar
Manu
Bonjour,
Mich, je tache d'adapter ton code à mon fichier d'origine (pas sure que j'y
parvienne car je ne connais pas le VBA) et te tiendrais au courant, pas sure
que je puisse le faire rapidement, mais je te dirais...
Encore Merci
Manu
"Michd" a écrit dans le message de groupe de discussion :
pam4sr$u1t$
Bonjour,
Un fichier qui fonctionne correctement.
Prends le temps de lire les commentaires avant d'exécuter la macro.
https://www.cjoint.com/c/HDlxmsccYpi
MichD
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
1 2 3 4