Excel RH & atelier
Trois cas concrets : absences, planning d'atelier, polyvalence

Module 2 / 3  · Sommaire complet

Module 2 : Cas RH et atelier 25 min de lecture

2.1 Suivi des absences : jours ouvrés et tableau croisé dynamique

Le suivi des absences est souvent le premier fichier qu'un responsable d'équipe ou un assistant RH construit lui-même. Ce chapitre en fait un outil fiable : une liste minimale et protégée, une durée calculée en jours ouvrés avec les jours fériés, une colonne « mois » pour les analyses, puis un tableau croisé dynamique qui répond en quelques clics à « combien, où, quand ».

Du formulaire de saisie au tableau de bord, en quatre étapes

1

Saisir

tAbsences, listes déroulantes, dates contrôlées

2

Calculer

Jours ouvrés, jours ouvrables, mois de rattachement

3

Analyser

Tableau croisé dynamique par service, type et mois

4

Partager

Une synthèse, aux seules personnes qui en ont besoin

1

Une liste minimale : ce qu'on saisit, ce qu'on ne saisit pas

Un fichier d'absences contient des données personnelles, et parfois des données sensibles. Le règlement général sur la protection des données (RGPD) fixe un principe simple à appliquer dès la conception : les données doivent être « adéquates, pertinentes et limitées à ce qui est nécessaire » au regard de la finalité (article 5). Les données concernant la santé font partie des catégories particulières de l'article 9.

Colonnes utiles

  • Matricule (clé vers la liste du personnel)
  • Type d'absence, par liste déroulante : congé payé, maladie, formation…
  • Date de début, date de fin
  • Colonnes calculées : service, jours ouvrés, mois

À ne pas saisir

  • Diagnostic, pathologie, nature d'un traitement
  • Commentaires libres sur la vie privée
  • Copie de justificatifs médicaux dans le classeur
  • Toute colonne « au cas où » sans usage défini

La CNIL indique, à propos du suivi du temps de travail, que les données d'identification des salariés et celles utilisées pour ce suivi, y compris les données relatives aux motifs des absences, ne peuvent pas être conservées plus de 5 ans après le départ des employés. Un fichier qui s'allonge depuis dix ans sans jamais être purgé n'est donc pas une bonne pratique.

Le fichier est enregistré dans un espace dont l'accès est limité aux personnes qui en ont besoin (RGPD, article 5 et article 32 sur la sécurité). La formation RGPD pour les salariés développe ces principes ; ce chapitre se limite à leur traduction dans un classeur.

2

Compter les jours ouvrés avec NB.JOURS.OUVRES

Soustraire deux dates donne des jours calendaires. Pour compter les jours de semaine, Excel propose NB.JOURS.OUVRES, qui exclut les samedis, les dimanches et, si on les lui fournit, les jours fériés :

NB.JOURS.OUVRES(date_début; date_fin; [jours_fériés])
fx=NB.JOURS.OUVRES([@Début];[@Fin];tFeries[Date])
  • Bornes comprises : dans l'exemple de la documentation, un projet du lundi 1er octobre 2012 au vendredi 1er mars 2013 compte 110 jours ouvrés, ce qui correspond au décompte des jours du lundi au vendredi en incluant les deux dates. Une absence d'un seul jour (début = fin) vaut donc 1.
  • Jours fériés : l'argument accepte une plage de dates. On crée sur la feuille « Paramètres » un tableau tFeries d'une colonne « Date », mis à jour chaque année à partir de la liste des fêtes légales de l'article L3133-1 du Code du travail, complétée le cas échéant des jours propres à l'entreprise ou au territoire.
  • Argument invalide : une date stockée en texte renvoie #VALEUR!.
DEFG
1DébutFinJours calendairesJours ouvrés
2lun. 06/07/2026ven. 10/07/202655
3mer. 15/07/2026ven. 17/07/202633
4lun. 27/07/2026lun. 03/08/202686

Ligne 4 : huit jours calendaires, dont un samedi et un dimanche, soit six jours ouvrés. Le résultat ne dépend que des dates et de la table des fériés : vérifier une ou deux lignes à la main lors de la mise en place du fichier reste un bon réflexe.

3

Jours ouvrables, équipes décalées : NB.JOURS.OUVRES.INTL

Tout le monde ne travaille pas du lundi au vendredi. NB.JOURS.OUVRES.INTL ajoute un argument qui définit les jours de repos :

NB.JOURS.OUVRES.INTL(date_début; date_fin; [week-end]; [jours_fériés])
Argument week-endJours exclusExemple d'usage
1 ou omissamedi et dimancheéquivalent de NB.JOURS.OUVRES
11dimanche seuldécompte en jours ouvrables (lundi au samedi)
2 à 7deux jours consécutifs (2 = dimanche et lundi … 7 = vendredi et samedi)équipe dont le repos n'est pas le week-end
12 à 17un seul jour (12 = lundi … 17 = samedi)repos hebdomadaire unique
"0000011"chaîne de 7 caractères commençant au lundi, 1 = chômétout cycle hebdomadaire, par exemple "0010001" pour mercredi et dimanche

Le code 11 intéresse directement les RH : les congés payés légaux s'expriment en jours ouvrables (deux jours et demi ouvrables par mois de travail effectif, article L3141-3), alors que beaucoup d'entreprises gèrent en jours ouvrés. La formule ne tranche pas cette question : elle applique la règle de décompte retenue dans l'entreprise, qu'il faut connaître avant de choisir l'argument.

Une chaîne invalide (autre chose que des 0 et des 1, ou une longueur différente de 7) renvoie #VALEUR! ; la chaîne "1111111" renvoie toujours 0. Pour un planning en 3×8 ou en 2×8 où les jours de repos tournent d'une semaine sur l'autre, ce calcul hebdomadaire ne suffit plus : le simulateur de planning d'équipe du site génère les cycles complets.

— Publicité —
4

Une colonne « Mois » pour analyser par période

Pour regrouper les absences par mois, on ajoute une colonne calculée qui ramène chaque date de début au premier jour de son mois. La fonction FIN.MOIS renvoie le dernier jour du mois situé un nombre de mois avant ou après une date :

FIN.MOIS(date_départ; mois)
fx=FIN.MOIS([@Début];-1)+1

Avec -1, on obtient le dernier jour du mois précédent ; en ajoutant 1, le premier jour du mois de l'absence. L'exemple de la documentation donne le principe : à partir du 1er janvier 2011, FIN.MOIS(…;1) renvoie le 28 février 2011 et FIN.MOIS(…;-3) le 31 octobre 2010.

  • Le résultat est un numéro de série : appliquer un format de date personnalisé « mmmm aaaa » (via Ctrl+1) pour afficher « juillet 2026 ».
  • Garder une vraie date plutôt qu'un texte « juillet » : les mois se trient dans l'ordre chronologique et les années ne se mélangent pas.
  • Une absence à cheval sur deux mois est rattachée au mois de son début. Si le suivi exige une ventilation exacte, saisir une ligne par mois (fin au dernier jour du mois, reprise le premier jour du suivant).
5

Le tableau croisé dynamique, pas à pas

Le tableau croisé dynamique (TCD) résume une liste sans aucune formule. Il exige une source propre : données en colonnes avec une seule ligne d'en-tête, sans ligne ni colonne vide, sans cellules fusionnées, un même type de données par colonne. La documentation recommande de partir d'un tableau Excel : les lignes ajoutées seront incluses à l'actualisation.

  1. Cliquer dans tAbsences, puis Insérer > Tableau croisé dynamique.
  2. Vérifier que la source est bien tAbsences, choisir Nouvelle feuille de calcul, valider par OK.
  3. Dans la liste des champs, faire glisser Service dans Lignes, Mois dans Colonnes, Jours ouvrés dans Valeurs.
  4. Par défaut, un champ numérique en Valeurs est résumé par une somme (un champ lu comme du texte, par un nombre).
  5. Pour compter les absences au lieu d'additionner les jours : flèche à droite du champ dans Valeurs > Paramètres des champs de valeurs > Synthèse des valeurs par : Nombre.
On peut placer deux fois le même champ dans Valeurs : une fois en somme (jours), une fois en nombre (absences). Le rapport « nombre de jours par absence » distingue alors des absences rares mais longues d'absences courtes mais fréquentes.

Pour un TCD par type d'absence, il suffit de glisser Type à la place de Mois dans Colonnes : c'est la souplesse qui fait l'intérêt de l'outil par rapport au tableau de synthèse en formules du chapitre 1.2.

— Publicité —
6

Actualiser, lire et partager le tableau de bord

Un TCD ne se met pas à jour tout seul quand la liste change. Deux gestes à connaître :

  • Clic droit dans le TCD > Actualiser.
  • Plusieurs TCD dans le classeur : onglet Analyse du tableau croisé dynamique > flèche sous Actualiser > Actualiser tout, ou Ctrl+Alt+F5 (« actualisez toutes les données du classeur », selon la liste des raccourcis de l'éditeur).

Pour la lecture, quelques règles évitent les contresens. Un mois chargé peut refléter des congés posés collectivement plutôt qu'un problème d'absentéisme : la colonne Type fait la différence. Un service de cinq personnes et un service de cinquante ne se comparent pas en jours bruts : il faut rapporter les absences à l'effectif ou aux heures théoriques. L'outil de calcul du taux d'absentéisme du site détaille cette méthode et fait le calcul pour un mois.

Côté diffusion, le chef d'atelier qui prépare le planning a besoin de savoir qui sera absent et quand, pas pourquoi. On partage donc un extrait (TCD ou liste filtrée copiée en valeurs), jamais le classeur source complet. Les absences connues à l'avance (congés) peuvent aussi être posées dans le planning des congés imprimable du site.

Envoyer le classeur qui contient le TCD, c'est envoyer aussi la feuille source et tout son détail. Pour diffuser une synthèse, on copie le résultat et on le colle en valeurs dans un nouveau classeur.

Où placer chaque champ du suivi des absences

Lignes

Service (ou Matricule pour un détail individuel, à usage restreint)

Colonnes

Mois, ou Type d'absence

Valeurs

Jours ouvrés (somme) et nombre d'absences (nombre)

ABCD
3Somme de Jours ouvrésjuillet 2026août 2026Total général
4Expédition505
5Montage325
6Usinage606
7Total général14216

Données fictives, avec les totaux généraux de ligne et de colonne affichés.

Sources

  • Documentation de l'éditeur : fonctions NB.JOURS.OUVRES, NB.JOURS.OUVRES.INTL, FIN.MOIS ; « Créer un tableau croisé dynamique pour analyser des données de feuille de calcul » ; « Raccourcis clavier dans Excel » — support.microsoft.com
  • Règlement (UE) 2016/679 (RGPD), articles 5, 9 et 32 — eur-lex.europa.eu
  • CNIL, « Contrôle des horaires : combien de temps sont conservées les données ? » — cnil.fr
  • Code du travail, articles L3133-1 (fêtes légales) et L3141-3 (congé en jours ouvrables) — Légifrance
  • Formation indépendante, non affiliée à Microsoft. Excel est une marque déposée de son éditeur.

À retenir

  • Un suivi des absences ne contient que l'utile (RGPD art. 5) : matricule, type, dates ; jamais de diagnostic.
  • NB.JOURS.OUVRES(début; fin; fériés) compte les jours du lundi au vendredi, bornes comprises, hors fériés listés.
  • NB.JOURS.OUVRES.INTL avec le code 11 exclut seulement le dimanche : décompte en jours ouvrables.
  • =FIN.MOIS([@Début];-1)+1 donne le premier jour du mois : une vraie date pour regrouper.
  • TCD : Insérer > Tableau croisé dynamique ; Lignes, Colonnes, Valeurs en somme par défaut.
  • Un TCD s'actualise (Ctrl+Alt+F5) et se partage en extrait, pas avec le classeur source.