Le besoin métier
L’effectif augmente, mais certaines équipes manquent toujours de capacité.
La direction voit un nombre de salariés. Les managers voient des postes vacants et des journées à couvrir. La finance voit une dépense. Un reporting RH doit rapprocher ces lectures sans confondre personnes, temps de travail disponible et budget.
L’objectif du premier tableau mensuel est concret : expliquer les évolutions, repérer les équipes à accompagner et préparer les décisions du mois suivant. Le détail nominatif reste dans les espaces autorisés de gestion RH.
La démarche en images
Créer ce reporting en quatre étapes

- Rassembler
Préparer les effectifs et mouvements selon une date et un périmètre communs.
- Protéger
Limiter les données et les accès, puis agréger au niveau utile pour les destinataires.
- Construire
Distinguer personnes, ETP et mouvements, avec des conventions de calcul explicites.
- Ajuster
Identifier les besoins de ressources et les actions à examiner avec les équipes.
Cadrer les décisions, les destinataires et le calendrier
Choisissez un périmètre stable : société, établissements, contrats inclus et équipes. Un prestataire externe ou un intérimaire ne doit pas entrer silencieusement dans le même effectif qu’un salarié. Définissez également les dates de début et de fin d’appartenance au périmètre.
Une synthèse mensuelle peut préparer le comité de direction ; un suivi hebdomadaire des postes à pourvoir répond à une autre décision. Fixez une date de clôture des données, un responsable de production et une personne habilitée à valider les résultats.
- Direction : évolution des effectifs, capacité, dépenses et arbitrages.
- RH : mouvements, anomalies de référentiel, postes à pourvoir et actions.
- Managers : informations agrégées strictement utiles à leur périmètre.
Préparer un modèle mensuel reproductible
Les sources peuvent être le SIRH, la paie, le suivi du temps et le budget validé. Conservez les identifiants nécessaires au rapprochement dans une zone RH restreinte. Dédupliquez les personnes lorsque plusieurs contrats existent et historisez les changements d’équipe.
Le tableau de diffusion ci-dessous contient une ligne par mois et par service. Les indicateurs individuels sont agrégés en amont. La table Service porte un identifiant stable ; le libellé du service peut évoluer sans modifier l’historique.
| Champs | Sens et règle |
|---|---|
| mois, service_id | Premier jour du mois et identifiant du service ; combinaison unique. |
| effectif_debut, effectif_fin, entrees, sorties | Personnes présentes aux bornes et mouvements externes dans le mois. Un transfert interne est traité séparément. |
| etp_fin | Somme des quotités contractuelles des personnes présentes en fin de mois. |
| heures_theoriques, absences_non_planifiees_h | Heures de travail prévues et heures d’absence entrant dans la convention retenue. |
| masse_salariale | Montant issu des rubriques de paie retenues, avec périmètre documenté. |
Construisons vos indicateurs RH à partir des décisions à préparer.
Parler de mon reporting RHChoisir six indicateurs et écrire leurs conventions
Une même formule ne garantit pas un même sens. Validez les définitions avant de comparer deux périodes ou établissements.
| Indicateur | Calcul | Périmètre et vigilance |
|---|---|---|
| Effectif de fin de mois | Somme de effectif_fin | Personnes distinctes présentes à la date ; pas une somme des douze mois. |
| ETP de fin de mois | Somme de etp_fin | Quotités contractuelles ; ne mesure pas les heures réellement disponibles. |
| Solde des mouvements | Somme des entrees − somme des sorties | Mouvements externes. Présenter séparément les transferts entre services. |
| Taux de sorties du mois | Sorties / ((effectif_debut + effectif_fin) / 2) × 100 | Convention choisie ici pour lire la rotation ; non annualisée. Aucun taux si dénominateur nul. |
| Taux d’absence retenu | absences_non_planifiees_h / heures_theoriques × 100 | Liste des absences incluses validée ; congés planifiés exclus de cet exemple. |
| Masse salariale du mois | Somme de masse_salariale | Même définition des charges, primes et rappels à chaque période ; budget comparable. |
Contrôler les chiffres et limiter les données diffusées
Vérifiez le rapprochement effectif de début + entrées − sorties = effectif de fin, en ajoutant les transferts et corrections documentés si le périmètre l’exige. Contrôlez les doublons, les services inconnus, les heures négatives et la concordance avec les totaux de paie.
La CNIL rappelle l’importance des finalités, de la minimisation et des personnes habilitées. N’intégrez pas de diagnostic médical dans ce reporting. Un identifiant pseudonymisé reste une donnée personnelle ; un filtre visuel n’est pas un contrôle d’accès.
- Adapter les regroupements pour éviter l’identification indirecte dans une petite équipe.
- Évaluer les croisements possibles ; aucun seuil d’effectif ne garantit seul l’anonymat.
- Définir les destinataires, exports autorisés et durées de conservation avec les responsables concernés.
- Afficher la période, le périmètre et la date de dernière validation sur chaque diffusion.
Mise en œuvre
Avec Excel : produire une synthèse mensuelle contrôlée
Cette solution convient à une production périodique maîtrisée. Une feuille masquée ou protégée contre les modifications ne sécurise pas les données confidentielles : préparez un fichier de diffusion contenant uniquement les informations autorisées.
Importer les exports autorisés avec Données > Obtenir des données. Dans Power Query, typer les dates, identifiants et nombres, puis fusionner avec le référentiel des services.
Regrouper les données au grain mois–service. Charger le résultat sous le nom RH_Mois et garder les anomalies dans une table de contrôle distincte.
Créer un tableau croisé dynamique : service en lignes, mois en filtre, effectif_fin, etp_fin et masse_salariale en valeurs. Sélectionner un seul mois pour les effectifs de clôture.
Calculer les taux à partir des sommes du périmètre sélectionné, jamais en faisant la moyenne des pourcentages de chaque service.
Actualiser, rapprocher les totaux et faire valider avant de diffuser une synthèse adaptée aux droits des destinataires.
Avec Access : structurer les sources et sortir un état récurrent
Créez Service(service_id, libelle) et RH_Mois, reliées en un-à-plusieurs avec intégrité référentielle. Ajoutez un index unique sur mois et service_id. Importez d’abord les données dans une table temporaire pour contrôler les doublons avant leur intégration.
La requête ci-dessous résume un mois. Créez un état basé sur cette requête, avec période et date de validation dans l’en-tête. Le calcul du taux de sorties utilise les sommes produites ; gérez explicitement un effectif moyen nul.
- Restreindre l’accès au fichier et aux sources RH ; l’état imprimable ne remplace pas les habilitations.
- Prévoir sauvegarde, responsable de mise à jour et procédure de reprise.
PARAMETERS [Mois choisi] DateTime;
SELECT Sum(effectif_debut) AS EffectifDebut,
Sum(effectif_fin) AS EffectifFin,
Sum(sorties) AS Sorties,
Sum(etp_fin) AS ETP,
Sum(masse_salariale) AS MasseSalariale
FROM RH_Mois
WHERE mois = [Mois choisi];Avec Python et Streamlit : explorer les agrégats par service
Ce prototype fonctionne uniquement avec des données simulées et agrégées. Enregistrez-le dans app.py, installez les dépendances avec python -m pip install pandas streamlit, puis lancez python -m streamlit run app.py. Il permet de vérifier les calculs et le filtre avant de connecter une source autorisée.
Pour une utilisation réelle, ajoutez authentification, autorisations vérifiées côté serveur, actualisation contrôlée et gestion des erreurs. Le sélecteur ci-dessous facilite l’analyse ; il ne limite pas les droits.
import pandas as pd
import streamlit as st
# Agrégats simulés du mois de septembre 2026.
df = pd.DataFrame([
["Support", 80, 78, 75, 2, 4, 12000, 420, 300000],
["Production", 120, 120, 115, 3, 3, 18000, 480, 440000],
], columns=["service_id", "effectif_debut", "effectif_fin",
"etp_fin", "entrees", "sorties", "heures_theoriques",
"absences_non_planifiees_h", "masse_salariale"])
st.title("Reporting RH — données simulées")
choix = st.selectbox("Service", ["Ensemble", *df.service_id])
vue = df if choix == "Ensemble" else df[df.service_id == choix]
total = vue.select_dtypes("number").sum()
moyen = (total.effectif_debut + total.effectif_fin) / 2
taux = 100 * total.sorties / moyen if moyen else None
st.metric("Effectif fin septembre", int(total.effectif_fin))
st.metric("ETP fin septembre", f"{total.etp_fin:.1f}")
st.metric("Taux de sorties du mois",
f"{taux:.2f} %" if taux is not None else "Non calculable")
st.dataframe(vue, hide_index=True)Avec Power BI : diffuser une même définition des indicateurs
Reliez RH_Mois aux dimensions Service et Mois. Une ligne de la dimension Mois représente le premier jour d’un mois. Utilisez un filtre de mois à sélection unique pour cette page et des mesures explicites, plutôt que des moyennes automatiques.
Actualisez après la clôture des sources, puis vérifiez l’historique d’actualisation. Pour des fichiers locaux, prévoyez une passerelle lorsque la connexion l’exige. La sécurité au niveau des lignes peut restreindre les services consultables, mais elle ne masque pas des colonnes sensibles et ne s’applique pas aux rôles d’édition du workspace. Testez avec un vrai compte lecteur.
Taux de sorties du mois =
IF (
HASONEVALUE ( RH_Mois[mois] ),
DIVIDE (
SUM ( RH_Mois[sorties] ),
( SUM ( RH_Mois[effectif_debut] )
+ SUM ( RH_Mois[effectif_fin] ) ) / 2
)
)Terminer chaque reporting par des décisions et un suivi
Diffusez trois éléments : les indicateurs validés, une explication courte des variations et les décisions attendues. Une hausse des absences ne permet pas de conclure à une cause ; elle justifie une analyse adaptée par les personnes habilitées.
Tenez un journal des actions avec responsable et échéance. Au cycle suivant, vérifiez les actions décidées avant d’ajouter un graphique. Archivez la version validée et les règles de calcul pour pouvoir expliquer une évolution plusieurs mois après.
Exemple pédagogique
Exemple illustratif : distinguer personnes et capacité
Le mois commence avec 200 personnes. Cinq entrent et sept sortent : l’effectif final est 198, pour 190 ETP. L’effectif moyen retenu est (200 + 198) / 2 = 199 ; le taux de sorties vaut 7 / 199 × 100 = 3,52 %.
Sur 30 000 heures théoriques, 900 heures entrent dans la convention d’absence retenue : le taux est 3 %. Ces constats servent à examiner la couverture des équipes et les recrutements nécessaires, sans attribuer une cause aux absences.
À propos de cet exemple : Exemple pédagogique composé de données simulées, sans salariés réels ni référence client. Les conventions doivent être adaptées à votre organisation.
Accompagnement proportionné
Mettre en place un reporting RH que votre équipe peut reprendre
Je vous accompagne dans le cadrage des décisions, la préparation des sources et la production d’une première synthèse validée avec les RH et les destinataires.
Livrables possibles
- Dictionnaire des indicateurs et périmètres.
- Modèle de données et contrôles de rapprochement.
- Tableau de bord adapté aux audiences.
- Procédure de production et transmission à un relais.
Limites et dépendances : Les règles d’accès, de conservation et de traitement des données de salariés sont validées avec vos responsables RH et protection des données.
Questions fréquentes
Les points à clarifier avant de décider
Quels indicateurs choisir pour un premier reporting RH ?
Commencez par les effectifs, ETP, mouvements, taux de sorties, absences selon une convention validée et masse salariale. Retenez seulement les indicateurs associés à une décision et disposant d’une source fiable.
Faut-il utiliser les noms des salariés dans le tableau de bord ?
Pas dans une synthèse qui n’en a pas besoin. Les rapprochements individuels peuvent rester dans une zone RH restreinte ; les destinataires reçoivent des regroupements adaptés au risque de réidentification et à leur mission.
Excel suffit-il pour commencer ?
Oui si le périmètre et la diffusion restent maîtrisés. Access peut structurer les historiques, Streamlit proposer une analyse sur mesure et Power BI organiser une diffusion interactive. La confidentialité et la reprise de la production restent nécessaires avec chaque solution.
Sources et vérification
Références utilisées
.
- CNIL — Référentiel relatif à la gestion des ressources humaines — s’ouvre dans un nouvel ongletFinalités, données pertinentes, destinataires habilités et conservation pour la gestion RH.
- Microsoft Support — Importer des données avec Power Query — s’ouvre dans un nouvel ongletImport, typage et chargement des sources dans Excel.
- Microsoft Support — Créer, modifier ou supprimer une relation — s’ouvre dans un nouvel ongletRelations et intégrité référentielle dans Access.
- Streamlit — st.selectbox — s’ouvre dans un nouvel ongletSélecteur interactif utilisé dans le prototype de données simulées.
- Microsoft Learn — Row-level security with Power BI — s’ouvre dans un nouvel ongletPortée des rôles de sécurité et restrictions pour les lecteurs de rapports.