Cet article va vous expliquer comment calculer les RTT disponibles pour un salarié sur une année complète.
Cela sera l’occasion d’aborder certaines nouvelles fonctions apparues sur la version Microsoft 365.
Fonctions bonus en fin d’article !
Rappel de la règle
Le nombre de RTT s’obtient en enlevant au nombre de total des jours de l’année :
- Les samedis et dimanches
- Les jours fériés qui tombent en semaine (s’ils tombent un week-end ils sont déjà retirés avec les samedis et dimanches)
- Les congés payés
- Le nombre de jours travaillés prévu par la Convention Collective
Préparation des paramètres du calcul nécessaires pour les RTT
Tout d’abord, je vous propose de créer une cellule dédiée à l’année voulue, que nous nommerons "Année" dans la Zone Nom.



Les cellules nommées ont l’avantage de pouvoir être utilisées dans tout le classeur, sans connaître leur emplacement. C'est également plus parlant de réutiliser un nom dans une formule comme dans l'exemple suivant.



Ensuite nous devons créer dans le classeur, la liste des jours fériés en relation avec l'année. Dans l'article suivant, vous avez toutes les formules pour calculer tous les jours fériés d'une année donnée.
Nommons notre liste de jours fériés JFériés.



Préparation de la décomposition du calcul
Pour les calculs, nous allons avoir besoin de construire le tableau suivant



Les formules de calcul pour chaque étape
Premier et dernier jour de l'année
A partir de l'année, il faut maintenant calculer le premier ainsi que le dernier jour de l’année, grâce à la fonction DATE.
=DATE(Année;1;1)
=DATE(Année;12;31)



Nommons ces cellules respectivement Début et Fin.
Calcul du nombre de jours dans l'année
Pour le nombre de jours de l’année, si nous faisons simplement la soustraction entre le premier et le dernier jour, il manquera un jour. Pour éviter les erreurs, nous devrions rajouter 1 jour à la fin.
En revanche, la fonction NB.JOURS.OUVRES.INTL permet d'éviter cette erreur. Suivez le lien pour comprendre comment utiliser cette fonction.
=NB.JOURS.OUVRES.INTL(Début;Fin;"0000000")



Nous avons bien 365 jours pour 2023 !
Nombre de week-ends dans l'année
Pour compte le nombres de jours correspondants à des week-ends, nous allons de nouveau nous servir de la fonction NB.JOURS.OUVRES.INTL
=NB.JOURS.OUVRES.INTL(Début;Fin;"1111100")



Le résultat est 105, c’est bien cela !
Nombre de jours fériés en semaine
Pour les jours fériés tombant en semaine, nous allons utiliser la fonction FILTRE en demandant en valeur logique les jours de semaine inférieurs à 6 autrement dit en semaine :
=FILTRE(JFériés;JOURSEM(JFériés;2)<6)
Cela va venir filtrer la zone sur les jours du lundi au vendredi.
Pour comptabiliser le nombre de jours dans cette liste, il suffit d'intégrer la formule précédente à la fonction NBVAL ou LIGNES :
=NBVAL(FILTRE(JFériés;JOURSEM(JFériés;2)<6))
ou
=LIGNES(FILTRE(JFériés;JOURSEM(JFériés;2)<6))



En une seule formule nous avons donc le nombre de jours fériés en semaine de l’année sélectionnée !
Si vous n’avez pas la version 365, vous pouvez utiliser la fonction suivante pour le même résultat :
=SOMME(SI(JOURSEM(JFériés;2)<6;1;0))
Saisie des dernières informations
Pour finir, il nous reste à ajouter le nombre de congés payés et de jours travaillés manuellement. En effet, ces données sont propres à chaque salarié et à chaque entreprise.



Calculer le nombre de RTT
Maintenant, il ne nous reste plus qu’à effectuer une simple opération de soustraction entre ces différentes valeurs :
Nombre de Jours de l’année – nombre de samedis et dimanche – jours fériés en semaine – 25 jours de cp – 218 jours travaillés
Soit, 8 jours de RTT pour 2023



Calcul pour l'année suivante ?
Si vous voulez réaliser les mêmes calculs, mais pour l'année suivante, il suffit de changer la valeur de l'année et le tableau se réactualise automatiquement :



Comme promis, le bonus
Pour calculer le nombre de jours fériés nous aurions pu utiliser les nouvelles fonctions d'Excel 365 (DANSCOL, BYROW et LAMBDA) de la façon suivante.
=NB(DANSCOL((BYROW(JFériés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6))));3))
Je l’expliquerai dans un prochain article !
Et pour le résultat des RTT, nous aurions également pu utiliser une seule et même formule avec l'instruction LET :
=LET(
Jours_année; NB.JOURS.OUVRES.INTL(Début;Fin;"0000000");
Week_end; NB.JOURS.OUVRES.INTL(Début;Fin;"1111100");
Jours_fériés; NBVAL(FILTRE(JFériés;JOURSEM(JFériés;2)<6));
CP; $B$7;
Jours_travaillés; $B$8;
Jours_année-Week_end-Jours_fériés-CP-Jours_travaillés
)
Je vous souhaite une EXCEL_LENTE journée ou soirée ! (Rémi)