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.
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) ou =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.
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
Le résultat est 105, c’est bien cela !
=NB.JOURS.OUVRES.INTL(Début;Fin;"1111100")

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 pouvons écrire une seule formule avec 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))
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)
31/03/2024 @ 11:36
Top ! Bravo pour le tuto !
01/04/2024 @ 19:28
Merci beaucoup :-))
09/08/2023 @ 08:34
Bonjour,
Merci pour ce partage car c'est exactement ce que je recherchais. Cela dit, j'ai un niveau très basique sur Excel et je suis bloquée à l'étape "calcul des JF tombant en semaine". Je pense que je n'ai pas bien sélectionné la ou les cellules nommées "JFériés" : pourriez-vous préciser celle(s) qu'il faut sélectionner? Le cas échéant, pourriez-vous me partager votre fichier excel?
Merci d'avance pour votre retour.
Bonne journée
09/08/2023 @ 10:22
Bonjour et merci beaucoup !!
En nommant la plage de cellules correspondant aux jours fériés JFériés dans la Zone Nom, vous avez juste à taper le nom JFériés sans avoir besoin de sélectionner la plage de cellules. Du coup c'est la plage à partir de B1 !
Comme cela pas besoin de figer la plage de cellules ou autre.
Il faut donner ce nom de la première ligne jusqu'à la dernière contenant les jours fériés 🙂
09/08/2023 @ 10:23
Bonjour, C'est toujours appréciable de préciser son niveau. Ca me permet de mieux vous orienter.
Alors JFeriés c'est le nom donné à une plage de cellules contenant les jours fériés
Maintenant, si vous ne connaissez pas bien Excel, je vous invite à faire les quiz. Ce n'est pas tant que vous ayez bon ou mauvais qui soit important, c'est de découvrir des outils qui vous sont probablement inconnus et qui ne sont pas si difficile à utiliser. Une fois le quiz terminé, vous trouverez un lien vers les articles qui expliquent chaque réponse.