Nb_jours_mois

Bonjour,

J'aurais besoin de vos lumières pour m'aider dans ma quête.

Dans l'onglet Stats AT BDD de mon document, les taux de fréquences et taux de gravité de mon accidentologie sont faussés quand les arrêts de travail sont sur plusieurs mois. En effet, si un arrêt a lieu du 12/12/2019 au 03/01/2020 le nombre de jours d'arrêts est de 22 mais concernant le mois de décembre il n'y en a que 19. Sur plusieurs arrêts cela fausse beaucoup les calculs surtout quand ça concerne de plus longues périodes.

Avec la fonction NB_JOURS_MOIS offerte très généreusement sur le forum https://www.excel-pratique.com/fr/fonctions-complementaires/nb-jours-mois.php, je pensais pouvoir calculer le nombre de jours entre deux dates ne concernant que le mois de décembre dans notre exemple.

Mais en fait, la fonction calcul le nombre de jours dans le mois sélectionné. Avec cela, pensez-vous que je peux faire ce que je souhaite ?

J'aimerais en fait faire :

Si la date de fin chevauche le mois suivant (dans l'onglet Liste AT en N), prendre la valeur de fin du mois dans la case Nb du jours du mois (de l'onglet Stats AT BDD en Z) - la date de début de l'arrêt (si elle est bien du mois en cours) pour tout l'onglet Liste AT en M.

Cordialement.

Salut Mellul2807,

On appelle jour ouvré, un jour de travail habituel, c'est à dire hors we (donc 5j/semaine). C'est ici, ce qui t'intéresse.

Je te conseil donc d'aller checker la fonction NB.JOURS.OUVRES qui devrait bien t'intéresser

Tu peux même gérer le cas des jours férié avec !

Bonne journée,

Baboutz

Bonjour,

Non ce n'est pas cela, j'ai besoin que les week-end aussi soient comptés parce que ce sont des agents qui peuvent être amenés à travailler les week-end donc quand ils sont en arrêt il faut tout compter. De plus, je ne cherche pas les jours ouvrés du mois mais à ce qu'Excel fasse le calcul du nombre de jours dans le mois où la personne est arrêtée.

Actuellement il calcule le nombre de jours d'arrêt en faisant date de fin d'arrêt - date de début d'arrêt mais ça peut être sur plusieurs mois et ça fausse mes calculs de taux de fréquence et taux de gravité pour le mois.

Cordialement.

Salut Mellul2807,

Ah oui j'ai compris !

Essaie ça

=FIN.MOIS(C3;0)-C3

(En imaginant que le début d'arrêt est C3)

Mellul2807,

Si j'ai bien compris, formule à mettre en Z2 de l'onglet Stats AT :

=SI(OU('Liste AT'!M7="";'Liste AT'!N7="");"";SI(MOIS('Liste AT'!M7)<>MOIS('Liste AT'!N7);FIN.MOIS(Y2;0)-'Liste AT'!M7;'Liste AT'!N7-'Liste AT'!M7))

Ca me paraît être bien ça mais j'ai deux soucis supplémentaires.

Le mois considéré ne doit pas forcément être le mois en cours mais le mois sélectionné en Y2 et de plus, il faut rajouter l'argument en fonction de $F7 de Liste AT car après dans Stats AT BDD les calculs sont séparés en fonction des groupes.

Actuellement la formule pour calculer le nombre d'arrêt est celle-ci : =SI(A2="";"";SOMME.SI('Liste AT'!$F$7:$F$165;A2;'Liste AT'!$O$7:$O$165))

Je t'ai souligné la partie qui me manque dans ton code.

Merci pour ton aide,

Cordialement.

Mellul2807,

Ma formule prend en compte la cellule Y2 et donc pas forcément le mois en cours !

Par contre, désolé mais je n'ai pas compris en fonction de F7

Tu peux me ré-expliquer ?

Baboutz

Ah pardon j'avais pas vu merci.

Dans STATS AT BDD, le nombre de jours d'arrêt du mois est différencié selon les équipes en fait et l'ancienne formule était dépendante de cette fameuse colonne F7:F165 de l'onglet Liste AT pour que les jours d'arrêts soient bien différenciées selon les équipes concernées.

Comme je sais pas où mettre cet argument dans le code, je préfère vous demander plutôt qu'il y ait des erreurs :/

Cordialement.

Il ne faudrait pas plutôt mettre cette formule dans l'onglet 'Liste AT' en colonne O ?

=SI(L7="avec arrêt";SI(OU(M7="";N7="");"";SI(MOIS(M7)<>MOIS(N7);FIN.MOIS('Stats AT BDD'!Y2;0)-M7;N7-M7))+1;"")

Puis calculer dans l'onglet 'Stats AT BDD' le tout en Z2 avec :

=SI(A2="";"";SOMME.SI('Liste AT'!$F$7:$F$165;A2;'Liste AT'!$O$7:$O$165))

Je suis désolé mais il y a un truc qui n'est pas clair, c'est sûrement moi j'en suis navré...

Oui ce serait le plus simple mais mes chefs ont besoin d'avoir une vue sur le nombre de jours d'arrêt réel dans cette case :/

J'avais pensé le mettre au bout du tableau mais ils étaient très très réticents quand je leur ai demandé.

Cordialement.

Salut Mellul2807,

Normalement, cette formule marche en Z2 :

=SOMME(SI(MOIS('Liste AT'!M7:M297)<>MOIS('Liste AT'!N7:N297);FIN.MOIS(Y2;0)-'Liste AT'!M7:M297;'Liste AT'!N7:N297-'Liste AT'!M7:M297))

C'est une formule matricielle, donc à valider avec CTRL + SHIFT + ENTRÉE

En ayant fait des tests chez moi : ça marche. Le seul soucis c'est que ta liste en Y2 est déjà en 2020 donc ne donne pas forcément le bon résultat, donc il suffit de mettre AUJOURDHUI() au lieu de Y2 dans la formule pour la tester.

Cela te convient ?

Bonne journée,

Baboutz

Bonjour et Bonne année,

Finalement mon chef accepte de rajouter une colonne dans l'onglet Liste AT, cela me semblait plus facile mais j'ai comme un doute....

Dans ma colonne Nb jours arrêts au cours du mois, j'ai cette formule =SI(A2="";"";SOMME.SI('Liste AT'!$F$7:$F$165;A2;'Liste AT'!$P$7:$P$165)). Il me semble qu'elle n'est pas conditionnée par le mois.

Par exemple, si au mois de Février j'ai 100 jours d'arrêts et 300 au mois de Janvier, ne va-t-elle m'afficher 400 ? Je ne vois pas de condition de mois.....

PS : Petite question subsidiaire, je veux rajouter un MsgBox pour dire aux utilisateurs de bien faire attention que le mois sélectionné soit le bon dans l'onglet STATS AT BDD. Est-ce que tu sais comment on lui dit de ne faire apparaître le message que ou si l'onglet STATS AT BDD est ouvert et/ou l'onglet Tableau de bord bis.

Merci beaucoup pour toute l'aide apportée !

Cordialement.

Réponse au PS : j'ai trouvé comment faire pour la MsgBox

Rechercher des sujets similaires à "jours mois"