Excel Calculer Nombre De Jours Entre Deux Dates

Calculateur Excel : Nombre de Jours Entre Deux Dates

Calculez précisément le nombre de jours, semaines ou mois entre deux dates avec ou sans les week-ends et jours fériés.

Guide Complet : Comment Calculer le Nombre de Jours Entre Deux Dates dans Excel

Le calcul du nombre de jours entre deux dates est une opération courante dans Excel, que ce soit pour gérer des projets, calculer des délais, ou analyser des données temporelles. Ce guide complet vous expliquera toutes les méthodes possibles, des plus simples aux plus avancées, pour maîtriser cette compétence essentielle.

1. Méthode de Base : Soustraction Simple de Dates

La méthode la plus simple pour calculer le nombre de jours entre deux dates dans Excel consiste à soustraire simplement la date de début de la date de fin. Excel stocke les dates sous forme de nombres séquentiels (le 1 janvier 1900 étant le jour 1), ce qui permet cette opération mathématique directe.

Formule :

=Date_Fin – Date_Début

Exemple :

Si A1 contient “01/01/2023” et B1 contient “31/12/2023”, la formule =B1-A1 retournera 364 (car 2023 n’est pas une année bissextile).

2. Fonction DATEDIF : Calcul Précis avec Différentes Unités

La fonction DATEDIF (Date Difference) est une fonction puissante mais peu connue d’Excel qui permet de calculer la différence entre deux dates dans différentes unités (jours, mois, années). Cette fonction existe pour des raisons de compatibilité avec Lotus 1-2-3 et n’est pas documentée dans l’aide d’Excel, mais elle reste parfaitement fonctionnelle.

Syntaxe :

=DATEDIF(date_début; date_fin; unité)

Unités disponibles :

  • “D” : Nombre complet de jours
  • “M” : Nombre complet de mois
  • “Y” : Nombre complet d’années
  • “YM” : Mois restants après les années complètes
  • “MD” : Jours restants après les mois complets
  • “YD” : Jours restants après les années complètes

Exemples :

  • =DATEDIF(“01/01/2020”; “31/12/2023”; “D”) → 1459 jours
  • =DATEDIF(“01/01/2020”; “31/12/2023”; “Y”) → 3 années complètes
  • =DATEDIF(“01/01/2020”; “31/12/2023”; “YM”) → 11 mois restants

3. Calcul en Excluant les Week-ends (Jours Ouvrés)

Pour calculer le nombre de jours ouvrés (en excluant les samedis et dimanches) entre deux dates, Excel propose la fonction JOURS.OUVRES. Cette fonction est particulièrement utile pour les calculs de délais professionnels ou les plannings de projet.

Syntaxe :

=JOURS.OUVRES(date_début; date_fin; [jours_fériés])

Exemple :

=JOURS.OUVRES(“01/01/2023”; “31/01/2023”) → 22 jours ouvrés en janvier 2023 (en excluant les 4 samedis et 4 dimanches)

Pour inclure des jours fériés spécifiques, vous pouvez ajouter une plage de cellules contenant ces dates comme troisième argument.

4. Calcul en Excluant les Jours Fériés

La fonction JOURS.OUVRES.INTL (introduite dans Excel 2010) offre plus de flexibilité que JOURS.OUVRES. Elle permet non seulement d’exclure les week-ends et jours fériés, mais aussi de définir quels jours de la semaine doivent être considérés comme jours de travail.

Syntaxe :

=JOURS.OUVRES.INTL(date_début; date_fin; [weekend]; [jours_fériés])

Paramètre weekend :

Ce paramètre permet de spécifier quels jours sont considérés comme week-end. Voici les valeurs possibles :

  • 1 : Samedi et dimanche (par défaut)
  • 2 : Dimanche et lundi
  • 3 : Lundi et mardi
  • 4 : Mardi et mercredi
  • 5 : Mercredi et jeudi
  • 6 : Jeudi et vendredi
  • 7 : Vendredi et samedi
  • 11 : Seulement dimanche
  • 12 : Seulement lundi
  • 13 : Seulement mardi
  • 14 : Seulement mercredi
  • 15 : Seulement jeudi
  • 16 : Seulement vendredi
  • 17 : Seulement samedi

Exemple avec jours fériés français :

Supposons que les jours fériés de 2023 soient listés dans la plage D2:D12. La formule serait :

=JOURS.OUVRES.INTL(“01/01/2023”; “31/12/2023”; 1; D2:D12) → 251 jours ouvrés en 2023 (en France métropolitaine)

Mois Jours Ouvrés (2023) Jours Calendaristes Jours Fériés
Janvier 22 31 1 (Nouvel An)
Février 20 28 0
Mars 23 31 0
Avril 20 30 2 (Lundi de Pâques, 1er Mai)
Mai 21 31 3 (1er Mai, 8 Mai, Ascension, Lundi de Pentecôte)
Total Annuel 251 365 11

5. Calcul du Nombre de Semaines Entre Deux Dates

Pour calculer le nombre de semaines entre deux dates, vous pouvez utiliser la fonction DATEDIF avec l’unité “D” puis diviser par 7, ou utiliser une approche plus précise qui tient compte des semaines complètes.

Méthode 1 : Division simple

=DATEDIF(date_début; date_fin; “D”)/7

Méthode 2 : Semaines complètes (plus précise)

=ENT(DATEDIF(date_début; date_fin; “D”)/7)

Méthode 3 : Avec la fonction SEMAINE.ISO (Excel 2013+)

=SEMAINE.ISO(date_fin) – SEMAINE.ISO(date_début)

Notez que les méthodes 1 et 2 peuvent donner des résultats légèrement différents de la méthode 3, car cette dernière suit la norme ISO 8601 où la semaine 1 est celle qui contient le premier jeudi de l’année.

6. Calcul du Nombre de Mois Entre Deux Dates

Le calcul du nombre de mois entre deux dates peut être effectué de plusieurs manières selon que vous souhaitiez obtenir des mois complets ou une valeur décimale représentant les mois partiels.

Méthode 1 : Mois complets (fonction DATEDIF)

=DATEDIF(date_début; date_fin; “M”)

Méthode 2 : Mois avec décimales (plus précise)

=DATEDIF(date_début; date_fin; “M”) + (JOUR(date_fin) – JOUR(date_début))/JOUR(EOMONTH(date_début; 0))

Méthode 3 : Années et mois séparés

=DATEDIF(date_début; date_fin; “Y”) & ” années et ” & DATEDIF(date_début; date_fin; “YM”) & ” mois”

7. Calcul du Nombre d’Années Entre Deux Dates

Pour calculer le nombre d’années entre deux dates, vous pouvez utiliser la fonction DATEDIF avec l’unité “Y”, ou des approches plus avancées pour obtenir des résultats plus précis.

Méthode 1 : Années complètes

=DATEDIF(date_début; date_fin; “Y”)

Méthode 2 : Années avec décimales (âge exact)

=DATEDIF(date_début; date_fin; “Y”) + (DATEDIF(date_début; date_fin; “YD”)/365)

Méthode 3 : Âge exact en années, mois et jours

=DATEDIF(date_début; date_fin; “Y”) & ” ans, ” & DATEDIF(date_début; date_fin; “YM”) & ” mois, ” & DATEDIF(date_début; date_fin; “MD”) & ” jours”

8. Gestion des Années Bissextiles

Les années bissextiles ajoutent une complexité supplémentaire aux calculs de dates. Une année bissextile a 366 jours au lieu de 365, avec un 29 février supplémentaire. Excel gère automatiquement les années bissextiles dans ses calculs de dates.

Règles des années bissextiles :

  • Une année est bissextile si elle est divisible par 4
  • Mais si l’année est divisible par 100, elle n’est pas bissextile
  • Sauf si elle est aussi divisible par 400, auquel cas elle est bissextile

Exemples :

  • 2000 : bissextile (divisible par 400)
  • 1900 : non bissextile (divisible par 100 mais pas par 400)
  • 2020 : bissextile (divisible par 4 mais pas par 100)
  • 2023 : non bissextile

Pour vérifier si une année est bissextile dans Excel, vous pouvez utiliser cette formule :

=OU(ET(MOD(année;4)=0;MOD(année;100)<>0);MOD(année;400)=0)

9. Calculs Avancés avec les Fonctions de Date

Excel offre plusieurs fonctions de date avancées qui peuvent être combinées pour des calculs complexes :

  • DATE : Crée une date à partir d’une année, mois et jour
  • ANNEE : Extrait l’année d’une date
  • MOIS : Extrait le mois d’une date
  • JOUR : Extrait le jour d’une date
  • FIN.MOIS : Retourne le dernier jour du mois
  • DATEVAL : Convertit une date sous forme de texte en numéro de série
  • AUJOURDHUI : Retourne la date du jour
  • MAINTENANT : Retourne la date et l’heure actuelles

Exemple de calcul complexe :

Calculer le nombre de jours restants dans l’année après une date donnée :

=DATE(ANNEE(A1);12;31)-A1

10. Visualisation des Résultats avec des Graphiques

Pour mieux comprendre les écarts entre les dates, vous pouvez créer des graphiques dans Excel. Voici comment procéder :

  1. Préparez vos données avec les dates et les valeurs calculées
  2. Sélectionnez vos données
  3. Allez dans l’onglet “Insertion”
  4. Choisissez “Graphique en colonnes” ou “Graphique en barres”
  5. Personnalisez votre graphique avec des titres et des étiquettes

Un graphique en barres est particulièrement efficace pour comparer les durées entre différentes périodes.

11. Erreurs Courantes et Solutions

Voici les erreurs les plus fréquentes lors du calcul de jours entre dates dans Excel et comment les résoudre :

Erreur Cause Probable Solution
###### (colonne trop étroite) Le résultat est une date mais la cellule est formatée comme nombre Élargissez la colonne ou changez le format en “Date”
#VALEUR! Une des “dates” n’est pas reconnue comme telle Vérifiez que les cellules contiennent bien des dates valides (utilisez DATEVAL si nécessaire)
Résultat négatif La date de fin est antérieure à la date de début Inversez l’ordre des dates ou utilisez ABS() pour obtenir la valeur absolue
Résultat inattendu avec DATEDIF Comportement particulier de DATEDIF avec certaines combinaisons Essayez une approche alternative avec des soustractions de dates
Jours fériés non pris en compte Oubli de spécifier la plage des jours fériés Ajoutez le troisième argument à JOURS.OUVRES ou JOURS.OUVRES.INTL

12. Automatisation avec VBA

Pour les utilisateurs avancés, Visual Basic for Applications (VBA) offre des possibilités supplémentaires pour automatiser les calculs de dates. Voici un exemple de fonction personnalisée qui calcule les jours ouvrés en excluant à la fois les week-ends et les jours fériés :

Code VBA :

Function JoursOuvresFR(DateDebut As Date, DateFin As Date) As Long
    Dim Jours As Long
    Dim DateTemp As Date
    Dim JoursFeries() As Date
    Dim i As Integer

    ' Liste des jours fériés français (à adapter selon l'année)
    JoursFeries = Array(DateSerial(Year(DateDebut), 1, 1), _
                       DateSerial(Year(DateDebut), 5, 1), _
                       DateSerial(Year(DateDebut), 5, 8), _
                       DateSerial(Year(DateDebut), 7, 14), _
                       DateSerial(Year(DateDebut), 8, 15), _
                       DateSerial(Year(DateDebut), 11, 1), _
                       DateSerial(Year(DateDebut), 11, 11), _
                       DateSerial(Year(DateDebut), 12, 25))

    ' Calcul des jours fériés mobiles (Pâques, Ascension, Pentecôte)
    ' ... (code supplémentaire nécessaire pour calculer ces dates)

    Jours = 0
    DateTemp = DateDebut

    Do While DateTemp <= DateFin
        ' Vérifier si ce n'est pas un week-end
        If Weekday(DateTemp, vbMonday) < 6 Then
            ' Vérifier si ce n'est pas un jour férié
            For i = LBound(JoursFeries) To UBound(JoursFeries)
                If DateTemp = JoursFeries(i) Then GoTo JourNonOuvre
            Next i
            Jours = Jours + 1
        End If
JourNonOuvre:
        DateTemp = DateTemp + 1
    Loop

    JoursOuvresFR = Jours
End Function
        

Pour utiliser cette fonction :

  1. Appuyez sur ALT + F11 pour ouvrir l'éditeur VBA
  2. Insérez un nouveau module (Insertion > Module)
  3. Copiez le code ci-dessus
  4. Fermez l'éditeur VBA
  5. Utilisez =JoursOuvresFR(A1;B1) dans votre feuille

13. Comparaison des Méthodes

Voici un tableau comparatif des différentes méthodes pour calculer les jours entre dates :

Méthode Précision Flexibilité Complexité Meilleur Cas d'Usage
Soustraction simple Élevée Faible Très simple Calculs basiques de jours
DATEDIF Élevée Moyenne Simple Calculs en années/mois/jours
JOURS.OUVRES Moyenne Moyenne Simple Calculs de jours ouvrés standard
JOURS.OUVRES.INTL Élevée Élevée Moyenne Calculs personnalisés de jours ouvrés
VBA personnalisé Très élevée Très élevée Complexe Solutions sur mesure complexes

14. Bonnes Pratiques

Pour obtenir des résultats fiables et maintenables :

  • Validez toujours vos données : Utilisez la fonction ESTDATE pour vérifier que vos cellules contiennent bien des dates valides
  • Documentez vos formules : Ajoutez des commentaires pour expliquer les calculs complexes
  • Utilisez des noms de plages : Créez des noms pour vos plages de dates (Insertion > Nom > Définir) pour rendre vos formules plus lisibles
  • Testez avec des cas limites : Vérifiez vos calculs avec des dates identiques, des années bissextiles, et des périodes incluant des changements d'année
  • Considérez les fuseaux horaires : Si vous travaillez avec des données internationales, tenez compte des différences de fuseaux horaires
  • Sauvegardez vos paramètres : Pour les calculs récurrents (comme les jours fériés), stockez les paramètres dans une feuille dédiée

15. Applications Pratiques

Voici quelques exemples concrets d'utilisation de ces calculs :

  • Gestion de projet : Calculer la durée des tâches et les délais
  • Ressources humaines : Calculer l'ancienneté des employés ou les congés
  • Finance : Calculer les intérêts ou les durées d'investissement
  • Logistique : Estimer les délais de livraison
  • Santé : Suivre la durée des traitements médicaux
  • Éducation : Planifier les programmes scolaires
  • Juridique : Calculer les délais de prescription

16. Alternatives à Excel

Si vous ne disposez pas d'Excel, voici quelques alternatives pour calculer les jours entre dates :

  • Google Sheets : Utilise les mêmes fonctions que Excel (DATEDIF, DAYS, etc.)
  • Python :
    from datetime import date
    d0 = date(2023, 1, 1)
    d1 = date(2023, 12, 31)
    delta = d1 - d0
    print(delta.days)  # Affiche 364
                    
  • JavaScript :
    const date1 = new Date('2023-01-01');
    const date2 = new Date('2023-12-31');
    const diffTime = Math.abs(date2 - date1);
    const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
    console.log(diffDays);  // Affiche 365
                    
  • Calculateurs en ligne : De nombreux sites proposent des calculateurs de jours entre dates

17. Évolution des Fonctions de Date dans Excel

Les fonctions de date d'Excel ont évolué au fil des versions :

Version d'Excel Nouveautés
Excel 2003 Fonctions de base (DATEDIF non documentée)
Excel 2007 Amélioration des formats de date
Excel 2010 Introduction de JOURS.OUVRES.INTL
Excel 2013 Nouveaux formats de date et fonctions comme SEMAINE.ISO
Excel 2016 Fonctions de date étendues pour Power Query
Excel 365 Fonctions dynamiques et intégration avec Power BI

18. Ressources pour Aller Plus Loin

Pour approfondir vos connaissances sur les calculs de dates dans Excel :

  • Livres :
    • "Excel 2021 Bible" par Michael Alexander
    • "Excel Data Analysis For Dummies" par Stephen L. Nelson
    • "Advanced Excel Reporting for Management Accountants" par Neale Blackwood
  • Sites web :
  • Formations en ligne :
    • Coursera : "Excel Skills for Business" par Macquarie University
    • Udemy : "Microsoft Excel - Advanced Excel Formulas & Functions"
    • LinkedIn Learning : "Excel: Advanced Formulas and Functions"

Conclusion

Maîtriser le calcul du nombre de jours entre deux dates dans Excel est une compétence essentielle pour de nombreuses applications professionnelles et personnelles. Comme nous l'avons vu tout au long de ce guide complet, Excel offre plusieurs méthodes pour effectuer ces calculs, allant des approches les plus simples aux solutions les plus sophistiquées.

La méthode à choisir dépend de vos besoins spécifiques :

  • Pour un simple décompte de jours, la soustraction directe ou la fonction DATEDIF suffisent
  • Pour des calculs de jours ouvrés, JOURS.OUVRES ou JOURS.OUVRES.INTL sont idéales
  • Pour des besoins très spécifiques, une solution VBA personnalisée peut être nécessaire

N'oubliez pas que la précision de vos calculs dépend de la qualité de vos données d'entrée. Toujours vérifier que vos dates sont correctement formatées et valides avant d'effectuer des calculs.

En combinant ces techniques avec d'autres fonctions Excel comme SI, SOMME.SI, ou les tableaux croisés dynamiques, vous pouvez créer des systèmes de suivi et d'analyse temporelle extrêmement puissants. Que ce soit pour gérer des projets, analyser des tendances, ou simplement organiser votre temps, ces compétences vous seront inestimables.

Pour aller plus loin, nous vous encourageons à explorer les fonctions de date avancées d'Excel, à expérimenter avec VBA pour automatiser vos calculs, et à vous familiariser avec les outils de visualisation pour présenter vos données temporelles de manière claire et impactante.

Leave a Reply

Your email address will not be published. Required fields are marked *