La fonction NB.JOURS.COUPON (COUPDAYS en anglais) calcule le nombre de jours dans la période de coupon qui contient la date de règlement d'une obligation. C'est la pièce manquante pour calculer précisément le coupon couru : sans ce dénominateur exact, ton montant sera faux.
Tous les professionnels de la finance obligataire en ont besoin au quotidien : traders, gestionnaires de portefeuille, analystes back-office. Elle garantit des calculs conformes aux conventions de marché, qu'il s'agisse d'une OAT française, d'un Bund allemand ou d'un US Treasury.
Syntaxe de la fonction NB.JOURS.COUPON
=NB.JOURS.COUPON(règlement; échéance; fréquence; [base])Les deux premières dates doivent être saisies comme de vraies dates Excel (via la fonction DATE() ou une référence de cellule formatée en date), jamais comme du texte brut, pour éviter l'erreur #VALEUR!.
Comprendre chaque paramètre de la fonction NB.JOURS.COUPON
Les quatre arguments se lisent dans l'ordre où tu décris l'obligation : la date où tu règles, la date où elle arrive à maturité, puis le rythme des coupons. Les trois premiers sont obligatoires, et échéance doit toujours tomber après règlement.
Seule la base (la convention de calcul des jours) est facultative : si tu la laisses vide, Excel applique d'office le 30/360 américain, ce qui fausse le décompte sur une OAT ou un Bund qui suivent le réel/réel.
règlement
: la date à laquelle tu achètes ou vends l'obligationC'est à partir de cette date que commence le calcul du coupon couru. Dans la pratique, le règlement intervient généralement quelques jours après la transaction (J+2 ou J+3 selon les marchés).
Tu peux saisir cette date sous forme d'une référence de cellule, ou construire la date avec DATE(2025;3;15). Évite les saisies en texte brut ("15/03/2025") qui peuvent poser des problèmes selon les paramètres régionaux d'Excel.
Astuce : Utilise toujours des références de cellule pour les dates plutôt que des valeurs saisies en dur. Cela facilite la mise à jour et évite les erreurs de saisie manuelle.
échéance
: la date à laquelle l'obligation arrive à maturité et le principal est rembourséCette date détermine la structure complète du calendrier des coupons et doit obligatoirement être postérieure à la date de règlement.
Par exemple, une obligation émise le 15 janvier 2020 avec une maturité de 10 ans aura une échéance au 15 janvier 2030. Cette information figure toujours dans les caractéristiques de l'obligation (prospectus, terminal Bloomberg, etc.).
Attention : Si l'échéance est antérieure au règlement, Excel renvoie #NUM!. Vérifie toujours l'ordre de tes dates, surtout quand elles proviennent d'une source externe.
fréquence
: le nombre de versements de coupons par anCe paramètre accepte uniquement trois valeurs : 1 pour un paiement annuel, 2 pour semestriel (le plus courant sur les marchés européens et américains), et 4 pour trimestriel.
La majorité des obligations d'État et d'entreprises versent des coupons semestriels (fréquence = 2). Cette information figure dans les caractéristiques de l'obligation. Toute autre valeur provoque une erreur #NUM!.
Attention : Seules les valeurs 1, 2 et 4 sont acceptées. Saisir 3 ou 12 pour une obligation mensuelle provoque une erreur #NUM!.
[base]
: la convention de calcul des jours utilisée(facultatif)Si tu l'omets, Excel applique la convention américaine 30/360. Les cinq valeurs possibles sont : 0 ou omis pour 30/360 (obligations US), 1 pour réel/réel (obligations d'État européennes, norme ISMA), 2 pour réel/360 (obligations à court terme), 3 pour réel/365 (titres du Trésor britanniques), et 4 pour 30E/360 (obligations corporate européennes).
Le choix de la base est crucial : utiliser la mauvaise convention peut entraîner des écarts significatifs dans le calcul du coupon couru, surtout sur de gros montants nominaux.
Astuce : Pour les OAT françaises et la plupart des obligations d'État européennes, utilise base = 1 (réel/réel). Pour les obligations américaines, base = 0 (30/360). En cas de doute, consulte le prospectus ou Bloomberg.
Exemples pratiques pas à pas
Trader obligataire : calcul du coupon couru pour une transaction
Tu es trader obligataire dans une banque d'investissement. Un client souhaite acheter 100 000 € d'une obligation d'État française à coupon semestriel de 3%, échéance 31/12/2030. La transaction est réglée le 15 mars 2025. Pour facturer correctement le coupon couru, tu dois connaître le nombre de jours dans la période de coupon actuelle.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Règlement | Échéance | Fréquence | Base | Jours période |
| 2 | 15/03/2025 | 31/12/2030 | 2 | 1 | 184 |
=NB.JOURS.COUPON(A2;B2;C2;D2)La fonction renvoie 184 jours avec la convention réel/réel (base = 1). Cette information donne le dénominateur du coupon couru exact (Nominal × Taux/Fréquence × Jours écoulés / 184). Un écart d'un seul jour sur ce dénominateur peut représenter plusieurs centaines d'euros sur un gros nominal.
Analyste financier : standardisation des calculs pour un portefeuille
Tu es analyste financier et tu gères un portefeuille de plusieurs obligations avec des caractéristiques différentes. Pour valoriser correctement ton portefeuille au jour le jour, tu dois automatiser le calcul du coupon couru. NB.JOURS.COUPON te permet de standardiser ce calcul quelle que soit l'obligation.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | ISIN | Règlement | Échéance | Fréq. | Base | Jours période |
| 2 | FR0013404272 | 20/03/2025 | 25/05/2032 | 1 | 1 | 365 |
| 3 | US912828XG18 | 20/03/2025 | 15/08/2028 | 2 | 0 | 180 |
| 4 | DE0001102440 | 20/03/2025 | 04/07/2029 | 1 | 1 | 365 |
=NB.JOURS.COUPON(B2;C2;D2;E2)Recopiée en colonne F, la fonction s'adapte automatiquement à chaque ligne selon les paramètres propres à chaque titre (ici 365 jours pour l'OAT en réel/réel). Cette automatisation évite les erreurs manuelles et garantit que chaque obligation est valorisée selon sa convention spécifique.
Astuce de pro : Crée une table de référence qui associe chaque type d'obligation (OAT, Bunds, US Treasuries, obligations corporate) à sa convention de calcul standard, puis utilise RECHERCHEV pour remplir automatiquement la colonne base.
Back-office : réconciliation avec la contrepartie
Tu travailles au back-office d'une société de gestion. Après une transaction obligataire, tu dois réconcilier le montant facturé par la contrepartie avec tes propres calculs. Une différence sur le coupon couru peut indiquer une erreur de convention de calcul.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Transaction | Règlement | Échéance | Fréq. | Jours (30/360) | Jours (réel/réel) |
| 2 | Achat OAT | 18/03/2025 | 25/10/2035 | 1 | 360 | 365 |
=NB.JOURS.COUPON(B2;C2;D2;0)En calculant la base 30/360 (colonne E, ici 360 jours) et la base réel/réel (colonne F, 365 jours), tu identifies immédiatement la source de l'écart : la contrepartie a utilisé 30/360 alors que les OAT (obligations assimilables du Trésor français) suivent le réel/réel. Cette vérification de 30 secondes résout des litiges qui pourraient traîner des heures.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction NB.JOURS.COUPON
Trois sources d'ennuis reviennent ici, et le #NUM! arrive en tête : il se déclenche dès que échéance passe avant règlement, ou que tu donnes une fréquence autre que 1, 2 ou 4 (un 12 pour du mensuel, par exemple). Vient ensuite le #VALEUR!, qui signale que tes dates sont en fait du texte qu'Excel n'arrive pas à lire.
Le troisième cas est plus sournois : aucune erreur affichée, mais un résultat qui ne colle pas avec celui de ta contrepartie, presque toujours à cause d'une base mal choisie.
Erreur #NUM! : paramètres invalides
L'erreur #NUM! apparaît dans plusieurs cas : la date de règlement est postérieure à l'échéance, la fréquence n'est pas 1, 2 ou 4, ou la base n'est pas comprise entre 0 et 4.
Solution : Vérifie l'ordre de tes dates en ajoutant un test préventif : =SI(A2<B2; NB.JOURS.COUPON(A2;B2;2;1); "Dates invalides"). Pour la fréquence, utilise une liste déroulante limitée aux valeurs 1, 2 et 4 pour éviter les saisies incorrectes.
Erreur #VALEUR! : format de date incorrect
Cette erreur survient quand Excel ne reconnaît pas les valeurs comme des dates valides. Cela arrive souvent avec des dates importées depuis d'autres systèmes ou saisies en texte brut dans un format non reconnu.
Solution : Utilise DATEVAL() pour convertir du texte en date, ou DATE(année;mois;jour) pour construire des dates valides. Vérifie le format des cellules source avec Ctrl+1 : elles doivent être au format Date, pas Texte.
Résultat différent de celui de la contrepartie
La cause la plus fréquente est une différence de convention de calcul (paramètre base). Deux acteurs peuvent utiliser des bases différentes sur le même titre si l'un des deux applique une convention incorrecte.
Solution : Consulte les caractéristiques officielles de l'obligation (prospectus, Bloomberg, Reuters) pour identifier la convention exacte. Les obligations européennes utilisent généralement base = 1 (réel/réel), les obligations américaines base = 0 (30/360). Calcule les deux et compare pour identifier l'écart.
Astuces avancées avec NB.JOURS.COUPON
Calcul complet du coupon couru avec les fonctions complémentaires
NB.JOURS.COUPON fournit le dénominateur du coupon couru. Pour le numérateur, tu as besoin de NB.JOURS.COUPON.PREC (jours depuis le dernier coupon). La formule complète est : Nominal × (Taux / Fréquence) × NB.JOURS.COUPON.PREC / NB.JOURS.COUPON.
Sur un nominal de 100 000 €, un taux de 3% semestriel et 45 jours écoulés sur 182 : le coupon couru est 100 000 × 0,015 × 45 / 182 = 370,88 €.
Table de référence des conventions par type d'obligation
Pour éviter les erreurs de base, maintiens une petite table de référence dans ton classeur : OAT françaises et Bunds allemands = 1 (réel/réel), US Treasuries = 0 (30/360), obligations corporate européennes = 4 (30E/360). Utilise NB.JOURS.COUPON avec une RECHERCHEV sur cette table pour alimenter automatiquement le paramètre base selon le type de titre.
Cela réduit les risques d'erreur de convention et rend tes modèles plus maintenables.
Questions fréquentes sur la fonction NB.JOURS.COUPON
Quelle est la différence entre NB.JOURS.COUPON et NB.JOURS.COUPON.SUIV ?
NB.JOURS.COUPON renvoie le nombre total de jours dans la période de coupon contenant la date de règlement (par exemple 180 jours pour une période semestrielle).
NB.JOURS.COUPON.SUIV calcule le nombre de jours entre la date de règlement et la prochaine date de coupon (par exemple 87 jours jusqu'au prochain paiement). Ces deux fonctions sont complémentaires : l'une donne le total de la période, l'autre la fraction restante.
Pourquoi utiliser NB.JOURS.COUPON pour calculer le coupon couru ?
Le coupon couru se calcule en multipliant le coupon de la période par le rapport jours écoulés / jours dans la période. NB.JOURS.COUPON fournit le dénominateur de cette formule, garantissant un calcul conforme aux standards de marché pour chaque type d'obligation.
Sans ce dénominateur précis, deux acteurs qui utilisent des conventions différentes (30/360 vs réel/réel) obtiendront des résultats différents, source de litiges au règlement.
Quelles sont les valeurs possibles pour le paramètre base ?
Cinq valeurs sont disponibles : 0 ou omis pour 30/360 (standard américain), 1 pour réel/réel (standard ISMA pour obligations d'État européennes), 2 pour réel/360 (obligations à court terme), 3 pour réel/365 (titres du Trésor britanniques), 4 pour 30E/360 (obligations corporate européennes).
Le choix dépend du type d'obligation et du marché. En cas de doute, la réponse se trouve dans le prospectus ou sur les terminaux Bloomberg et Reuters.
Comment gérer les erreurs #NUM! avec NB.JOURS.COUPON ?
L'erreur #NUM! apparaît quand la date de règlement est postérieure à l'échéance, ou quand la fréquence n'est pas 1, 2 ou 4.
Sécurise ta formule avec un test sur l'ordre des dates : =SI(A2<B2; NB.JOURS.COUPON(A2;B2;2;1); "Dates invalides"). Pour la fréquence, une liste déroulante limitée aux trois valeurs autorisées prévient les erreurs de saisie.
NB.JOURS.COUPON est-elle compatible avec Google Sheets ?
Oui, la fonction existe dans Google Sheets sous le nom anglais COUPDAYS avec exactement la même syntaxe. Les résultats peuvent varier légèrement selon les versions.
Pour des calculs financiers critiques impliquant de gros montants, double-vérifie toujours les résultats et teste les cas limites (fin de mois, années bissextiles) si tu travailles avec les deux outils.
Pour aller plus loin
Les fonctions similaires : DATE, JOURS, NB.JOURS.OUVRES, FIN.MOIS, ANNEE
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
