Qu'est-ce que la fonction NB. COUPONS ?
NB.COUPONS (COUPNUM en anglais) te sert dès que dérouler un échéancier de versements à la main deviendrait fastidieux et source d'erreur, sur une obligation à dix ou vingt ans par exemple. Que tu sois gestionnaire de portefeuille, analyste obligataire ou comptable financier, elle te donne ce compte en une formule.
Concrètement, c'est elle qui compte les 20 versements d'un OAT 10 ans acheté aujourd'hui, qui compare les coupons restants de deux obligations pour évaluer leur duration respective, ou qui calcule le total des intérêts à recevoir pour clôturer un exercice. Plus besoin de compter à la main : la formule s'ajuste automatiquement quand tu modifies les dates.

Comprendre chaque paramètre de la fonction NB.COUPONS
Les quatre arguments se lisent comme une carte d'identité de l'obligation : d'abord le jour où tu l'achètes (règlement), puis le jour où elle arrive à terme (échéance), ensuite combien de fois par an elle te verse un coupon (fréquence), et enfin la convention de calcul des jours. Seul ce dernier, [base], est facultatif : si tu l'oublies, Excel applique la base 0 (30/360 américaine), ce qui n'est pas toujours la bonne pour une obligation européenne.
règlement
: la date d'achat de l'obligation, c'est-à-dire le jour où tu la paies et où elle entre dans ton portefeuilleC'est le point de départ du calcul du nombre de coupons restants.
Tu peux saisir cette date directement dans une cellule formatée en date, utiliser la fonction DATE(année;mois;jour) pour la construire dynamiquement, ou encore AUJOURDHUI() pour suivre les coupons restants en temps réel.
échéance
: la date à laquelle l'obligation arrive à maturité et où tu recevras le dernier coupon ainsi que le remboursement du capital (valeur nominale)L'écart entre la date de règlement et la date d'échéance détermine combien de paiements tu recevras.
NB.COUPONS effectue automatiquement ce calcul en tenant compte de la fréquence des paiements et de la convention de calcul des jours.
Attention : La date d'échéance doit impérativement être postérieure à la date de règlement. Si ce n'est pas le cas, Excel retourne l'erreur #NOMBRE!.
fréquence
: le nombre de fois par an où les coupons sont versésExcel n'accepte que trois valeurs : 1 pour des paiements annuels, 2 pour des paiements semestriels (le plus courant pour les obligations d'État et d'entreprises), et 4 pour des paiements trimestriels.
Ce paramètre est crucial car il détermine comment Excel découpe la période entre règlement et échéance pour compter les versements.
[base]
: la convention de calcul des jours utilisée pour le décompte des périodes(facultatif)Valeurs possibles : 0 ou omis = base US (NASD) 30/360 ; 1 = réel/réel (nombre exact de jours) ; 2 = réel/360 ; 3 = réel/365 ; 4 = européenne 30/360.
Si tu omets ce paramètre, Excel utilise automatiquement la base 0.

Exemples pratiques pas à pas
Comment compter le nombre de coupons restants avec la fonction NB.COUPONS
Tu prépares le calendrier d'encaissement d'un portefeuille obligataire avant le comité d'investissement. Chaque ligne porte sa propre date de règlement, tous les titres arrivent à terme le 15 janvier 2034 et versent deux coupons par an, et il te faut le nombre de versements qu'il reste à percevoir sur chacun.
La fonction NB.COUPONS rend ce compte ligne par ligne, sans que tu aies à dérouler le moindre échéancier à la main.
- 1Dans une cellule, écris
=NB.COUPONS(. - 2En 1er argument : clique sur la date d'achat du titre,
B2. Elle affiche15/03/2024sur la première ligne, et c'est le curseur à partir duquel la fonction ne retient que les versements encore à venir. - 3En 2ᵉ argument : écris la date d'échéance et referme-la,
DATE(2034;1;15). Toutes les obligations du tableau arrivent à terme ce jour-là, et c'est de cette date que part le calendrier remonté à rebours, ce qui place les coupons aux 15/01 et aux 15/07. - 4En 3ᵉ argument : saisis le nombre de coupons versés chaque année,
2. Seules les valeurs1,2et4sont admises, et c'est ce chiffre qui fixe le pas de six mois entre deux versements. - 5En 4ᵉ argument : saisis la convention de comptage des jours,
1. C'est le réel/réel courant sur les titres d'État, et si tu l'omets Excel retombe sur la base0, le 30/360 américain. - 6Ferme la parenthèse et appuie sur Entrée.
=NB.COUPONS(B2; DATE(2034;1;15); 2; 1)20 coupons à percevoir jusqu'au 15 janvier 2034, et le compte descend à 19 sur la ligne réglée le 28/07/2024, une fois le versement de juillet passé.Comment la fréquence de versement change le nombre de coupons de la fonction NB.COUPONS
Trois titres réglés le même jour, avec la même échéance, ne rapportent pas le même nombre de versements si l'un paie une fois par an et l'autre quatre. Tu compares ces trois obligations qui ne se distinguent que par leur rythme de coupon, et tu veux chiffrer l'écart au lieu de le supposer.
En passant la fréquence en référence de cellule plutôt qu'en dur, la fonction NB.COUPONS recalcule pour chaque ligne le calendrier qui lui correspond vraiment.
- 1Dans une cellule, écris
=NB.COUPONS(. - 2En 1er argument : clique sur la date de règlement,
B2. Le tableau répète volontairement la même date,15/03/2024, sur les trois lignes pour que le rythme des coupons reste le seul écart possible entre elles. - 3En 2ᵉ argument : clique sur la date d'échéance,
C2. Elle est figée au15/01/2034partout, ce qui garantit que les trois calendriers partent du même point d'ancrage et couvrent la même durée. - 4En 3ᵉ argument : clique sur le nombre de coupons versés chaque année,
D2. Cette cellule change à chaque ligne, de1à2puis4, et c'est le seul argument qui bouge, donc c'est lui qui explique l'écart entre10et40. - 5En 4ᵉ argument : saisis la convention de comptage des jours,
1. Elle reste identique sur les trois lignes, un choix délibéré qui l'écarte d'emblée comme cause possible de l'écart entre les résultats. - 6Ferme la parenthèse et appuie sur Entrée.
=NB.COUPONS(B2; C2; D2; 1)10 versements, le semestriel 20 et le trimestriel 40 : le compte suit exactement le rythme, puisque c'est la même période qui est découpée plus ou moins finement.Comment neutraliser l'erreur #NOMBRE! de la fonction NB.COUPONS avec la fonction SIERREUR
Tu reprends un fichier de suivi obligataire alimenté par plusieurs personnes, et des #NOMBRE! sont apparus au milieu de la colonne. Une ligne porte une fréquence saisie à 3, une autre a vu ses deux dates inversées au moment de la saisie.
Plutôt que de laisser ces erreurs contaminer la colonne et bloquer les totaux, tu veux que chaque ligne fautive se signale d'elle-même, en clair.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 1er argument : écris le calcul à surveiller et referme-le,
NB.COUPONS(B2; C2; D2; 1). C'est lui qui renvoie#NOMBRE!dès qu'une ligne porte une fréquence hors des clous ou deux dates inversées, commeOBL-BetOBL-C. - 3En 2ᵉ argument : saisis le texte affiché en cas d'échec,
"Paramètres invalides". Les guillemets sont obligatoires pour qu'Excel écrive ces mots tels quels, et ce message ne corrige rien mais nomme le problème là où il se trouve. - 4Ferme la parenthèse et appuie sur Entrée.
=SIERREUR(NB.COUPONS(B2; C2; D2; 1); "Paramètres invalides")1, 2 ou 4 en fréquence et exige un règlement antérieur à l'échéance. Les deux lignes qui sortent de ces clous rendent #NOMBRE!, que SIERREUR remplace par un message lisible, pendant que la ligne valide continue de rendre son compte de 20.
Les erreurs fréquentes avec la fonction NB.COUPONS
Avec NB.COUPONS, c'est presque toujours un argument hors des clous qui bloque, et le symptôme le plus fréquent est #NOMBRE!. Il tombe dès que tu inverses les dates (échéance avant règlement), ou que tu tapes une fréquence qu'Excel refuse comme 12 ou 3 : seuls 1, 2 et 4 sont admis.
Les deux autres pannes sont plus discrètes : #VALEUR! quand une date est en réalité du texte mal reconnu, et #NOM? quand tu écris COUPNUM (le nom anglais) dans un Excel français.
Erreur #NOMBRE! sur les paramètres de date ou de fréquence
L'erreur #NOMBRE! apparaît dans trois cas : la date d'échéance est antérieure à la date de règlement, la fréquence n'est pas 1, 2 ou 4, ou le paramètre base n'est pas compris entre 0 et 4.
Solution : Vérifie que échéance est bien postérieure à règlement. Contrôle que fréquence vaut exactement 1, 2 ou 4, pas 12 ni 3. Si le paramètre base est renseigné, assure-toi qu'il est entre 0 et 4.
Erreur #VALEUR! à cause de dates en texte
Quand une cellule de date contient du texte (par exemple "15/01/2024" saisi avec des guillemets ou mal formaté), Excel ne reconnaît pas la valeur comme une date et retourne #VALEUR!.
Solution : Formate tes cellules de dates avec le format Date (Ctrl+1). Utilise la fonction DATE(année;mois;jour) pour construire les dates dynamiquement. Ne saisis jamais de dates entre guillemets directement dans la formule.
Erreur #NOM? parce que la fonction n'est pas reconnue
Si tu utilises le nom anglais COUPNUM dans une version française d'Excel (ou inversement), la fonction n'est pas reconnue et Excel retourne #NOM?.
Solution : Utilise NB.COUPONS dans Excel en français. Sur Google Sheets en anglais, la fonction s'appelle COUPNUM avec une syntaxe identique et le point-virgule comme séparateur d'arguments en paramètre régional français.

Astuces avancées avec NB.COUPONS
Combiner NB.COUPONS avec les fonctions financières complémentaires
NB.COUPONS est encore plus puissante quand tu la combines avec les autres fonctions obligataires : COUPON.DATE.PREC pour la date du dernier coupon payé, COUPON.DATE.SUIV pour le prochain versement, PRIX.TITRE pour le prix de l'obligation, et RENDEMENT.TITRE pour le rendement actuariel.
Une feuille de synthèse qui regroupe ces quatre fonctions avec NB.COUPONS te donne tous les indicateurs clés pour analyser ou comparer des obligations en quelques cellules.
Suivre les coupons restants en temps réel avec AUJOURDHUI
Pour que ton modèle se mette à jour automatiquement chaque jour, utilise AUJOURDHUI() comme date de règlement : =NB.COUPONS(AUJOURDHUI(); B2; 2; 1). Le résultat diminue automatiquement après chaque coupon encaissé.
Cette formule est parfaite pour les tableaux de bord de portefeuille que tu consultes régulièrement : tu vois toujours les coupons effectivement restants, pas ceux calculés à la date d'achat.
Questions fréquentes
Le paramètre fréquence indique le nombre de paiements de coupons par an. Les valeurs acceptées sont 1 pour un paiement annuel, 2 pour des paiements semestriels (le plus courant pour les obligations), et 4 pour des paiements trimestriels.
Ce paramètre est crucial car il détermine comment Excel découpe la période entre règlement et échéance pour compter les versements.
NB.COUPONS compte le nombre de paiements de coupons entre deux dates et retourne toujours un entier (par exemple 5 coupons). FRACTION.ANNEE calcule la fraction d'année entre deux dates et retourne un nombre décimal (par exemple 2,5 années).
Les deux fonctions mesurent une même période sous des angles différents : l'une en nombre de versements, l'autre en proportion d'année.
Cette erreur apparaît si la date d'échéance est antérieure à la date de règlement, si la fréquence n'est pas 1, 2 ou 4, ou si le paramètre base n'est pas entre 0 et 4.
Vérifie l'ordre de tes dates (règlement avant échéance) et la validité de tes paramètres. C'est souvent l'inversion accidentelle des deux dates qui cause cette erreur.
Le paramètre base définit la convention de calcul des jours : 0 ou omis = base US (NASD) 30/360 ; 1 = réel/réel ; 2 = réel/360 ; 3 = réel/365 ; 4 = européenne 30/360.
Utilise 1 (réel/réel) pour les obligations d'État françaises et européennes. Pour les obligations d'entreprises américaines, la base 0 (30/360) est standard.
Oui, la fonction s'appelle COUPNUM sur Google Sheets avec une syntaxe identique. Seul le séparateur d'arguments peut varier selon tes paramètres régionaux : en français, utilise le point-virgule.
Les résultats sont identiques entre Excel et Google Sheets pour les mêmes entrées.
Multiplie le nombre de coupons par le montant de chaque versement : =NB.COUPONS(D2;E2;2;1) * valeur_nominale * taux / 2 pour des coupons semestriels.
Par exemple, pour une obligation de 100 000 € à 3,5% avec 20 coupons restants, le total est 100 000 × 3,5% / 2 × 20 = 35 000 €. Cette formule te donne le montant brut avant actualisation.
Pour aller plus loin
Continue sur ta lancée après la fonction NB.COUPONS : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



