JOURS : Calculez précisément le nombre de jours entre deux dates en Excel
=JOURS(date_fin; date_début)La formule JOURS est l'une des fonctions les plus utiles d'Excel pour tous les professionnels travaillant avec des données temporelles. Elle permet de calculer instantanément le nombre de jours écoulés entre deux dates, une opération fondamentale en gestion de projets, ressources humaines, finance et logistique. Contrairement à une simple soustraction de dates qui peut générer des formats complexes, JOURS retourne directement un nombre entier représentant les jours écoulés. Cette formule est particulièrement appréciée pour sa simplicité d'utilisation et sa fiabilité. Que vous ayez besoin de déterminer l'ancienneté d'un employé, de calculer les délais de livraison, de mesurer la durée d'un projet ou de gérer des échéances, JOURS s'adapte à tous ces contextes. Elle fonctionne de manière cohérente dans toutes les versions modernes d'Excel et offre des résultats prévisibles, sans nécessiter de formatage supplémentaire. Dans ce guide complet, nous explorerons en détail comment utiliser JOURS, ses paramètres, ses pièges courants et ses meilleures pratiques pour maximiser votre productivité dans Excel.
Syntaxe et paramètres
La formule JOURS utilise une syntaxe très simple et directe : =JOURS(date_fin; date_début). Le premier paramètre, date_fin, représente la date la plus récente ou la date de fin de la période que vous souhaitez mesurer. Le second paramètre, date_début, correspond à la date de départ du calcul. L'ordre est crucial : Excel soustrait toujours la date_début de la date_fin. Si vous inversez les paramètres, vous obtiendrez un nombre négatif, ce qui peut être intentionnel selon votre contexte. Chaque paramètre accepte plusieurs formats : une référence de cellule (A1), une date littérale entre guillemets ("2024-01-15"), ou même la fonction TODAY() pour la date du jour. Les deux paramètres sont obligatoires ; omettre l'un d'eux génère une erreur #NOM?. Il est important de noter que JOURS compte les jours calendaires, y compris les weekends et les jours fériés. Si vous avez besoin d'exclure les weekends, préférez NETWORKDAYS. Pour les calculs impliquant des années bissextiles ou des périodes complexes, JOURS gère automatiquement ces nuances sans intervention de votre part. Un conseil pratique : utilisez toujours des références de cellule plutôt que des dates littérales. Cela rend votre feuille plus flexible et maintenable. De plus, assurez-vous que vos cellules contiennent bien des dates reconnues par Excel, pas du texte qui ressemblerait à une date.
end_datestart_dateExemples pratiques
Calcul de l'ancienneté d'un employé
=JOURS(TODAY();B2)Cette formule compare la date du jour (TODAY()) à la date d'embauche en B2. Elle retourne le nombre exact de jours depuis l'embauche, permettant une gestion précise des avantages sociaux ou des évaluations.
Suivi des délais de livraison
=JOURS(B2;A2)Cette formule calcule le nombre de jours entre la commande et la livraison. Un résultat de 3 signifie que la livraison a pris 3 jours. Vous pouvez ensuite comparer ce chiffre à votre SLA (Service Level Agreement) standard.
Alerte de renouvellement de contrat
=SI(JOURS(D2;TODAY())<=30;"À renouveler";"OK")Cette formule combine JOURS avec SI pour créer une alerte. Elle compare le nombre de jours restants à 30 et affiche un message d'action si le contrat expire bientôt. Cela automatise complètement votre processus de suivi.
Points clés à retenir
- JOURS calcule le nombre de jours calendaires entre deux dates avec une syntaxe simple : =JOURS(date_fin; date_début).
- L'ordre des paramètres est crucial : date_fin en premier, sinon vous obtenez des nombres négatifs.
- JOURS compte tous les jours, y compris weekends et jours fériés. Utilisez NETWORKDAYS pour exclure les weekends.
- Combinez JOURS avec TODAY() pour créer des calculs dynamiques qui se mettent à jour automatiquement.
- JOURS est compatible avec toutes les versions modernes d'Excel (2013+) et fonctionne aussi sur Google Sheets et LibreOffice.
Astuces de pro
Utilisez JOURS avec TODAY() pour créer des tableaux de bord dynamiques. Les calculs se mettent à jour automatiquement chaque jour sans intervention manuelle.
Impact : Gain de temps considérable : vos rapports sont toujours à jour sans recalcul manuel.
Créez une colonne intermédiaire avec JOURS, puis utilisez AVERAGE() ou MAX() pour analyser les tendances. Par exemple, le délai moyen de livraison.
Impact : Visualisation instantanée des KPIs métier : vous identifiez rapidement les anomalies et les opportunités d'amélioration.
Combinez JOURS avec la mise en forme conditionnelle pour colorer automatiquement les lignes selon les délais. Exemple : rouge si délai > 5 jours.
Impact : Gestion visuelle immédiate : les retards sautent aux yeux sans consultation supplémentaire.
Utilisez JOURS dans des formules de validation pour empêcher l'entrée de dates illogiques. Par exemple, une date de fin antérieure à une date de début.
Impact : Contrôle qualité des données : évitez les erreurs de saisie qui fausseraient vos analyses.
Combinaisons utiles
Calcul de l'âge en jours avec vérification
=SI(JOURS(TODAY();B2)<0;"Date invalide";JOURS(TODAY();B2))Cette combinaison utilise SI pour vérifier que la date de naissance (B2) n'est pas dans le futur avant de calculer l'âge. Elle protège contre les erreurs de saisie tout en retournant l'âge en jours.
Conversion des jours en semaines et jours
=INT(JOURS(B2;A2)/7)&" semaines et "&MOD(JOURS(B2;A2);7)&" jours"Cette formule combine JOURS avec INT et MOD pour convertir un nombre de jours en semaines et jours restants. Très utile pour les rapports de gestion de projet.
Calcul des intérêts composés basé sur les jours
=A1*(1+B1)^(JOURS(C2;C1)/365)Combine JOURS avec une formule financière pour calculer les intérêts composés sur une période spécifique. JOURS divise par 365 pour convertir en années.
Erreurs courantes
Cause : L'une des cellules référencées contient du texte au lieu d'une date valide. Par exemple, si B2 contient "01/01/2024" au lieu d'une véritable date Excel, ou si vous avez écrit "date_fin" sans guillemets.
Solution : Vérifiez que vos cellules contiennent des dates au format Excel. Utilisez =ISNUMBER(B2) pour tester. Si nécessaire, convertissez le texte avec DATEVALUE(). Assurez-vous également que votre séparateur décimal et votre format de date correspondent aux paramètres régionaux de votre système.
Cause : Vous avez supprimé une colonne ou une ligne contenant une cellule référencée dans votre formule JOURS. Par exemple, si vous aviez =JOURS(C2;A2) et que vous avez supprimé la colonne C, la formule devient invalide.
Solution : Restaurez la colonne supprimée ou modifiez la formule pour référencer les bonnes cellules. Utilisez l'historique d'annulation (Ctrl+Z) si l'erreur vient d'être créée. À l'avenir, utilisez des noms de plages nommées pour plus de robustesse.
Cause : Vous avez mal orthographié le nom de la fonction. Par exemple, =JOUR(A1;B1) au lieu de =JOURS(A1;B1), ou vous utilisez une version d'Excel qui ne reconnaît pas la fonction (très rare).
Solution : Vérifiez l'orthographe exacte de la fonction : JOURS (avec un S). Vérifiez également votre version d'Excel. Si vous utilisez Excel en anglais, la fonction s'appelle DAYS. Utilisez l'autocomplétion d'Excel pour éviter les erreurs de frappe.
Checklist de dépannage
- 1.Vérifiez que les deux cellules contiennent des dates valides (pas du texte). Utilisez =ISDATE() ou inspectez le format de la cellule.
- 2.Confirmez que vous avez respecté l'ordre correct : date_fin en premier, date_début en second. Inversez si vous obtenez des nombres négatifs.
- 3.Assurez-vous que votre séparateur de paramètres est correct : point-virgule (;) en français, virgule (,) en anglais.
- 4.Vérifiez que vous n'avez pas supprimé accidentellement des colonnes référencées. Utilisez Ctrl+Z pour annuler si c'est récent.
- 5.Testez avec des dates littérales : =JOURS("2024-12-31";"2024-01-01") pour isoler le problème.
- 6.Vérifiez votre version d'Excel. JOURS est disponible depuis Excel 2013. Sur les versions antérieures, utilisez DATEDIF.
Cas particuliers
Les deux dates sont identiques
Comportement : JOURS retourne 0. Cela signifie qu'aucun jour complet ne s'est écoulé.
C'est le comportement attendu. Utile pour identifier les transactions le même jour.
Une date contient une heure (ex: 15/01/2024 14:30)
Comportement : JOURS ignore l'heure et compte uniquement les jours entiers. Les heures sont arrondies à minuit.
Solution : Si vous avez besoin de précision horaire, utilisez une soustraction simple : =(B2-A2)*24 pour les heures.
JOURS est intentionnellement conçu pour ignorer les heures pour les calculs de durée en jours.
La date_début est dans le futur par rapport à date_fin
Comportement : JOURS retourne un nombre négatif, représentant les jours "en arrière".
Solution : Inversez l'ordre des paramètres ou utilisez =ABS(JOURS(...)) pour obtenir la valeur absolue.
Les nombres négatifs peuvent être intentionnels dans certains contextes (jours avant une date limite).
Limitations
- •JOURS ignore les heures et minutes ; elle retourne uniquement les jours entiers. Pour une précision horaire, utilisez une soustraction simple ou convertissez en décimal.
- •JOURS compte tous les jours, y compris weekends et jours fériés. Pour les jours ouvrables uniquement, préférez NETWORKDAYS.
- •JOURS ne peut pas calculer directement en mois ou années. Utilisez DATEDIF si vous avez besoin de ces unités.
- •JOURS retourne une erreur (#VALUE!) si les cellules contiennent du texte au lieu de dates valides. Un formatage strict est nécessaire pour éviter les erreurs.
Alternatives
Offre plus de flexibilité avec le calcul en jours, mois ou années. Permet également des calculs plus sophistiqués comme "jours restants jusqu'à une date".
Quand : Utilisez DATEDIF quand vous avez besoin de calculer des périodes en différentes unités ou des durées complexes. Exemple : =DATEDIF(A1;B1;"M") pour les mois.
Compatibilité
✓ Excel
Depuis Excel 2013
=JOURS(date_fin; date_début) en français, =DAYS(date_fin, date_début) en anglais✓Google Sheets
=DAYS(date_fin; date_début) - Note : Google Sheets utilise DAYS au lieu de JOURSFonctionne de manière identique. Le nom de la fonction change selon la langue de la feuille.
✓LibreOffice
=DAYS(date_fin; date_début) - LibreOffice utilise DAYS comme Google Sheets