Comment calculer les heures de travail par mois dans Excel ?
Dans de nombreuses organisations, les employés suivent un horaire de travail standard, comme 8 heures par jour et 5 jours par semaine. Calculer avec précision le total des heures de travail par mois est essentiel pour le traitement de la paie, le suivi des projets et la gestion de la main-d'œuvre. Cependant, le comptage manuel du total d'heures pour chaque mois peut être sujet à erreurs et chronophage, surtout lorsque vous devez prendre en compte les week-ends, les jours fériés ou les employés ayant des horaires variables. Excel offre des outils et méthodes pratiques pour vous aider à rationaliser et automatiser ce calcul, assurant ainsi précision et efficacité dans vos opérations.
Voici plusieurs solutions efficaces pour calculer les heures de travail mensuelles dans Excel, adaptées à différentes structures de données et besoins :
Calculer le total des heures de travail par mois avec des formules
Code VBA – Calcul automatique des heures de travail mensuelles pour plusieurs lignes
Calculer le total des heures de travail par mois avec des formules
Les fonctions de formule d’Excel offrent une approche simple et fiable pour calculer le total des heures de travail par mois lorsque vous connaissez les dates de début et de fin, ainsi que le quota quotidien d’heures de travail. Cette méthode fonctionne mieux lorsqu'un emploi du temps fixe est appliqué chaque jour, et que vous souhaitez tenir compte des week-ends et éventuellement des jours fériés. Voici comment configurer votre calcul :
1. Sélectionnez une cellule vide où afficher le résultat, puis entrez la formule suivante :
=NETWORKDAYS(A2,B2) *8
Après avoir tapé la formule, appuyez sur la touche Entrée. Initialement, le résultat peut apparaître formaté comme une date. La capture d'écran ci-dessous illustre cela :
2. Pour afficher la valeur sous forme de nombre (heures de travail), sélectionnez la cellule contenant le résultat de la formule. Ensuite, dans l'onglet Accueil, trouvez le menu déroulant Format de nombre et sélectionnez Standard. La cellule affichera maintenant le nombre total d'heures de travail sous forme de nombre brut, comme indiqué :
Astuce : Pour refléter avec précision des périodes incluant des jours fériés, vous pouvez exclure ces jours en ajoutant une plage de jours fériés à votre formule. Utilisez :
=NETWORKDAYS(A2,B2, C2:C4) *8
où A2 est la date de début, B2 est la date de fin, et C2:C4 liste les dates de jours fériés que vous souhaitez exclure. Formatez la cellule en Standard comme décrit précédemment.
Remarque : Ajustez les références de cellule (telles que A2, B2, C2:C4) selon l'emplacement de vos données. Cette méthode fonctionne mieux pour des heures de travail quotidiennes standards. Si les employés travaillent à temps partiel ou si les heures de travail varient chaque jour, vous devrez peut-être adapter la formule ou utiliser l'une des méthodes alternatives ci-dessous.
Un avantage de l'utilisation de formules est qu'une fois configurées, elles se mettent à jour automatiquement lorsque vous modifiez les dates ou les jours fériés. Cependant, pour des jeux de données contenant plusieurs employés ou des relevés de présence plus complexes, les solutions avancées suivantes peuvent s'avérer plus pratiques.
Code VBA – Calcul automatique des heures de travail mensuelles pour plusieurs lignes
Si votre feuille de calcul enregistre plusieurs employés ou lignes — chacune avec des périodes différentes ou des dates de début et de fin variables — entrer des formules ligne par ligne manuellement devient fastidieux. L'utilisation d'une macro VBA vous permet de calculer automatiquement les heures de travail pour chaque ligne en bloc, économisant du temps et réduisant les erreurs manuelles.
Cette solution est particulièrement utile lorsque vous avez une table où chaque ligne représente un employé ou une période de travail distincte, avec des colonnes pour Date de début, Date de fin et éventuellement Jours fériés. La macro ci-dessous parcourra toutes les lignes et remplira les heures de travail calculées pour chaque entrée.
1. Ouvrez l'éditeur Visual Basic for Applications en cliquant sur Outils de développement > Visual Basic. Dans la nouvelle fenêtre, cliquez sur Insertion > Module, puis collez le code VBA suivant dans la zone de code :
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub
Notes et instructions :
- Ajustez les lettres des colonnes (startCol, endCol, holidayCol, resultCol) selon les besoins pour correspondre à la disposition de votre feuille de calcul.
- La colonne holidayCol doit contenir des dates séparées par des virgules, comme 07/03/2025,07/18/2025. Si elle n'est pas nécessaire, vous pouvez la laisser vide.
- Cette macro suppose que les données commencent à la ligne 2 (après l'en-tête).
2Pour exécuter la macro, cliquez sur le bouton ou appuyez sur F5 pendant que le module est sélectionné. Le code calculera automatiquement et remplira le total des heures de travail mensuelles pour toutes les lignes dans la colonne de résultats. Si vous rencontrez une erreur, vérifiez que vos références de données et formats de date sont corrects.
Cette méthode est particulièrement efficace pour automatiser les calculs sur de grands effectifs d'employés ou des données de feuilles de temps multi-lignes, garantissant cohérence et réduisant le risque d'enregistrements manquants. Si votre structure de données est plus flexible ou si vous souhaitez résumer des registres de présence journaliers, envisagez d'utiliser un Tableau croisé dynamique comme décrit ci-dessous.
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels