Calculer Nombre De Jours Entre Deux Dates Excel

Calculateur de Jours entre Deux Dates (Excel)

Calculez précisément le nombre de jours, semaines ou mois entre deux dates – comme dans Excel. Parfait pour les projets, les contrats ou la planification financière.

Nombre total de jours:
0
Jours ouvrés (Lun-Ven):
0
Semaines complètes:
0
Mois calendaires:
0
Années complètes:
0

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

Le calcul des jours entre deux dates est une opération fondamentale dans Excel, utilisée dans de nombreux contextes professionnels: gestion de projets, calculs financiers, planification des ressources humaines, ou suivi des délais légaux. Ce guide expert vous expliquera toutes les méthodes possibles, avec leurs avantages et limites.

1. Méthode de Base: Soustraction Simple

La méthode la plus simple consiste à soustraire directement deux dates:

  1. Dans une cellule, entrez votre date de début (ex: A1)
  2. Dans une autre cellule, entrez votre date de fin (ex: B1)
  3. Dans une troisième cellule, entrez la formule: =B1-A1

Excel affichera par défaut le résultat en format date. Pour obtenir le nombre de jours, formatez la cellule en “Nombre”.

Source Officielle:

Microsoft explique cette méthode fondamentale dans sa documentation officielle sur les calculs de dates.

2. Fonction DATEDIF: Précision et Flexibilité

La fonction DATEDIF (Date Difference) offre plus de contrôle:

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

Où “unité” peut être:

  • "d": Jours complets entre les dates
  • "m": Mois complets entre les dates
  • "y": Années complètes entre les dates
  • "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
Unité Exemple Résultat (pour 15/01/2020 – 20/03/2023)
“d” =DATEDIF(“15/01/2020″;”20/03/2023″;”d”) 1160
“m” =DATEDIF(“15/01/2020″;”20/03/2023″;”m”) 38
“y” =DATEDIF(“15/01/2020″;”20/03/2023″;”y”) 3
“ym” =DATEDIF(“15/01/2020″;”20/03/2023″;”ym”) 2

3. Calcul des Jours Ouvrés (Exclure Week-ends et Jours Fériés)

Pour les calculs professionnels, vous devrez souvent exclure les week-ends et jours fériés:

=NETWORKDAYS(date_début; date_fin; [jours_fériés])

Exemple avec jours fériés français (à placer dans une plage comme D1:D10):

=NETWORKDAYS(A1; B1; D1:D10)

Pour une précision maximale, combinez avec:

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

Où “weekend” peut être:

  • 1: Samedi-Dimanche (défaut)
  • 2: Dimanche-Lundi
  • 11: Dimanche seulement
  • 12: Lundi seulement
  • etc. (voir documentation Microsoft)

4. Calculs Avancés avec Formules Matricielles

Pour des calculs complexes (comme le nombre de mois partiels), utilisez des formules matricielles:

=SUMPRODUCT(--(YEAR($A$1:$A$100)=2023); --(MONTH($A$1:$A$100)=3))

Cette formule compte le nombre de dates en mars 2023 dans une plage A1:A100.

5. Visualisation des Résultats

Pour présenter vos calculs de manière professionnelle:

  1. Sélectionnez vos données (dates + résultats)
  2. Allez dans l’onglet “Insertion”
  3. Choisissez “Graphique en colonnes” ou “Graphique en barres”
  4. Personnalisez avec des couleurs d’entreprise
Ressource Académique:

L’Université de Berkeley propose un guide avancé sur le travail avec les dates dans Excel incluant des cas d’usage réels en recherche.

6. Erreurs Courantes et Solutions

Erreur Cause Solution
###### Cellule trop étroite pour afficher la date Élargissez la colonne ou changez le format
#VALEUR! Format de date incorrect Vérifiez que les cellules sont formatées en “Date”
Résultat négatif Date de fin antérieure à la date de début Inversez les dates ou utilisez ABS()
#NOM? Faute de frappe dans le nom de fonction Vérifiez l’orthographe (DATEDIF, pas DATEDIFF)

7. Automatisation avec VBA

Pour les utilisateurs avancés, voici un exemple de macro VBA pour calculer les jours ouvrés entre deux dates, en excluant des jours fériés spécifiques:

Function CustomWorkDays(start_date As Date, end_date As Date) As Long
    Dim holidays As Variant
    holidays = Array("01/01/2023", "17/04/2023", "01/05/2023", "08/05/2023", _
                     "18/05/2023", "29/05/2023", "14/07/2023", "15/08/2023", _
                     "01/11/2023", "11/11/2023", "25/12/2023")

    CustomWorkDays = 0
    Dim current_date As Date
    current_date = start_date

    Do While current_date <= end_date
        If Weekday(current_date, vbMonday) < 6 Then
            If Not IsHoliday(current_date, holidays) Then
                CustomWorkDays = CustomWorkDays + 1
            End If
        End If
        current_date = current_date + 1
    Loop
End Function

Function IsHoliday(check_date As Date, holidays As Variant) As Boolean
    Dim i As Integer
    For i = LBound(holidays) To UBound(holidays)
        If CDate(holidays(i)) = check_date Then
            IsHoliday = True
            Exit Function
        End If
    Next i
    IsHoliday = False
End Function

8. Comparaison des Méthodes

Méthode Précision Flexibilité Complexité Cas d'usage
Soustraction simple ⭐⭐⭐ Calculs basiques
DATEDIF ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ Calculs par unités spécifiques
NETWORKDAYS ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐ Calculs professionnels
Formules matricielles ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ Analyses complexes
VBA ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ Solutions sur mesure

9. Bonnes Pratiques

  • Validez toujours vos données: Utilisez la validation des données (Onglet Données > Validation des données) pour garantir que seules des dates valides sont entrées.
  • Documentez vos formules: Ajoutez des commentaires (clic droit > Insérer un commentaire) pour expliquer les calculs complexes.
  • Utilisez des noms de plage: Dans l'onglet Formules > Définir un nom, donnez des noms significatifs à vos plages de dates (ex: "DateDébutProjet").
  • Gérez les fuseaux horaires: Pour les projets internationaux, utilisez la fonction TIMEZONE ou convertissez toutes les dates en UTC.
  • Testez avec des cas limites: Vérifiez vos formules avec des dates identiques, des années bissextiles, et des transitions d'année.
Ressource Gouvernementale:

Le site service-public.fr fournit des informations officielles sur les jours fériés en France, essentiels pour les calculs précis de jours ouvrés.

10. Alternatives à Excel

Si vous ne disposez pas d'Excel, voici des alternatives:

  • Google Sheets: Utilisez =DAYS(end_date, start_date) ou =NETWORKDAYS (syntaxe identique à Excel).
  • Python: Avec la bibliothèque datetime:
    from datetime import date
    d0 = date(2023, 1, 15)
    d1 = date(2023, 3, 20)
    delta = d1 - d0
    print(delta.days)  # Affiche 64
  • JavaScript: Dans un navigateur:
    const diffTime = Math.abs(new Date("2023-03-20") - new Date("2023-01-15"));
    const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
    console.log(diffDays);  // Affiche 64
  • SQL: Dans la plupart des SGBD:
    SELECT DATEDIFF(day, '2023-01-15', '2023-03-20') AS DayCount;

Conclusion

Maîtriser le calcul des jours entre deux dates dans Excel est une compétence essentielle pour tout professionnel travaillant avec des données temporelles. Que vous ayez besoin d'un simple décompte de jours ou d'un calcul complexe de jours ouvrés excluant les jours fériés spécifiques à votre pays, Excel offre les outils nécessaires.

Pour aller plus loin:

  • Explorez les fonctions EDATE et EOMONTH pour des calculs de dates avancés
  • Combinez les calculs de dates avec des fonctions conditionnelles comme IF ou SUMIFS
  • Automatisez vos rapports avec des tableaux croisés dynamiques basés sur des plages de dates
  • Découvrez Power Query pour importer et transformer des données temporelles depuis diverses sources

En appliquant les techniques décrites dans ce guide, vous serez capable de gérer n'importe quel scénario impliquant des calculs de dates dans Excel, avec précision et professionnalisme.

Leave a Reply

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