Aller au contenu principal

Qu'est-ce que la fonction FRACTION.ANNEE ?

Définition
La fonction FRACTION.ANNEE calcule la fraction d'une année représentée par deux dates, selon une convention comptable (base). Elle retourne un nombre décimal : 0,5 pour 6 mois, 1,0 pour une année complète.

FRACTION.ANNEE (YEARFRAC en anglais) te sert dès qu'un montant, un taux ou une prime doit être calculé au prorata du temps réellement écoulé plutôt que sur une année pleine que personne n'a atteinte. C'est la fonction à utiliser en finance, en RH ou en comptabilité chaque fois qu'un calcul proportionnel au temps doit sortir un chiffre défendable face à un contrôle ou un client.

Ce qui la rend si puissante, c'est qu'elle propose 5 méthodes de calcul différentes (les « bases »), correspondant aux conventions comptables internationales. Contrairement à DATEDIF qui retourne des valeurs entières (années complètes, mois complets), FRACTION.ANNEE retourne un nombre décimal représentant la proportion exacte d'une année : 6 mois = 0,5, 3 mois = 0,25, 9 mois = 0,75. Cette précision est cruciale en finance où quelques jours peuvent représenter des milliers d'euros d'intérêts.

Syntaxe

=FRACTION.ANNEE(date_début; date_fin; [base])

Clique sur un argument pour aller à son explication.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction FRACTION.ANNEE

Tu donnes d'abord la date de départ, ensuite la date d'arrivée, et c'est tout pour démarrer : les deux premiers arguments sont obligatoires. Le troisième, base, est facultatif et c'est lui qui décide quelle convention comptable applique le calcul.

L'oublier n'est pas neutre : Excel retombe alors sur la base 0 (US 30/360), qui n'est pas forcément celle de ton secteur. Si tu fais du RH ou de la banque française, tu voudras presque toujours préciser ce troisième argument toi-même.

1

date_début

: la date de début de la période que tu veux mesurer

Tu peux passer une date construite avec DATE(2024;1;15), une référence à une cellule comme A2, ou le résultat d'une fonction comme AUJOURDHUI().

Excel accepte aussi les dates en texte au format « JJ/MM/AAAA » mais c'est moins fiable. Préfère toujours la fonction DATE pour garantir la cohérence.

2

date_fin

: la date de fin de la période

Elle doit normalement être postérieure ou égale à date_début. Si date_fin est antérieure à date_début, Excel retourne une valeur négative sans message d'erreur, ce qui passe souvent inaperçu dans un grand tableau.

Pour calculer une ancienneté jusqu'à aujourd'hui, utilise simplement AUJOURDHUI() comme date de fin : la formule se met à jour automatiquement chaque jour.

3

[base]

: la méthode de calcul à utiliser(facultatif)

Chaque base correspond à une convention comptable différente. Si tu omets ce paramètre, Excel utilise la base 0 par défaut.

0 – US 30/360 (par défaut) : méthode américaine standard, 30 jours par mois, 360 jours par an. Utilisée pour les obligations américaines et certains prêts immobiliers US.

1 – Réel/réel : nombre réel de jours divisé par le nombre réel de jours dans l'année (365 ou 366 si bissextile). La plus précise mathématiquement, recommandée pour les calculs RH.

2 – Réel/360 : nombre réel de jours divisé par 360. Convention bancaire commerciale pour les intérêts sur comptes d'épargne et certains prêts. Avantageuse pour le prêteur.

3 – Réel/365 : nombre réel de jours divisé par 365 fixe. Utilisée dans certains calculs financiers quand on ignore les années bissextiles.

4 – Européenne 30/360 : similaire à la base 0 mais avec des règles légèrement différentes pour les fins de mois. Standard pour les obligations européennes.

Le conseil du pro
Pour les calculs RH (ancienneté, congés, primes), prends toujours la base 1 (réel/réel) : c'est la plus juste et la plus facile à justifier auprès d'un salarié ou de l'inspection du travail. En finance, cale-toi sur la convention de ton secteur ou du contrat.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer la fraction d'année entre deux dates avec la fonction FRACTION.ANNEE

Chaque contrat de ton tableau démarre et s'arrête à une date différente, et la banque facture les intérêts au prorata du temps écoulé. Avant de calculer le moindre montant, il te faut la durée de chaque contrat exprimée en portion d'année plutôt qu'en jours.

La fonction FRACTION.ANNEE convertit un couple de dates en nombre décimal directement multipliable par un taux annuel.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTION.ANNEE(.
  2. 2
    En 1er argument : clique sur la date de début, C2. Elle affiche 01/01/2024 et fixe le jour où le contrat PRET-1 commence à courir. La formule pointe la cellule plutôt que la date écrite en dur, si bien qu'elle se recopie telle quelle sur les autres contrats.
  3. 3
    En 2ᵉ argument : clique sur la date de fin, D2, qui arrête le décompte au 15/09/2024. On lit toujours du départ vers l'arrivée, et deux dates saisies dans l'ordre inverse renverraient une fraction négative sans aucun message d'erreur.
  4. 4
    En 3ᵉ argument : saisis la base de calcul, 2. C'est la convention réel/360 retenue par la banque, celle qui compte les jours réellement écoulés mais les rapporte à une année forfaitaire de 360 jours, ce qui la rend légèrement favorable au prêteur.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=FRACTION.ANNEE(C2; D2; 2)
Explication
La fonction compte les jours réels qui séparent les deux dates (258 pour la première ligne), puis les rapporte à l'année de la convention demandée. En base 2, cette année vaut 360 jours quoi qu'il arrive, donc 258 divisé par 360 donne 0,7167.
Exemple 2

Comment calculer des intérêts au prorata avec la fonction FRACTION.ANNEE

Le bilan intermédiaire arrive et l'emprunt de 500 000 € tourne depuis le 1er janvier, sans qu'aucune échéance annuelle ne soit encore tombée. Tu dois quand même inscrire les intérêts courus au 15 septembre, ni plus ni moins.

La fonction FRACTION.ANNEE fournit la portion d'année écoulée, qu'il suffit ensuite de multiplier par le capital et le taux.

Les étapes
  1. 1
    Dans une cellule, écris = puis clique sur le capital, B2, complète par *, clique sur le taux annuel, C2, et écris de nouveau *. Le produit de ces deux cellules donne les intérêts d'une année pleine, un montant encore théorique tant que la période n'est pas terminée.
  2. 2
    Écris FRACTION.ANNEE( pour convertir la période écoulée en portion d'année, puis :
    1. aEn 1er argument : clique sur la date de début, D2. Elle affiche 01/01/2024 et ouvre la période sur laquelle l'emprunt porte intérêt.
    2. bEn 2ᵉ argument : clique sur la date de fin, E2. Elle affiche 15/09/2024 et arrête le décompte à la date du bilan intermédiaire, jusqu'où les intérêts sont dus.
    3. cEn 3ᵉ argument : saisis la base, 2. C'est la convention réel/360 du contrat de prêt, et le choix n'est pas neutre : en base 1, la même formule sortirait 14 803,28 €, soit 246,72 € de moins pour des dates identiques.
  3. 3
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=B2 * C2 * FRACTION.ANNEE(D2; E2; 2)
Explication
Un taux annuel ne s'applique tel quel que sur une année pleine. La fonction fournit la portion d'année (0,7167), et la multiplication ramène les 21 000 € d'intérêts annuels à la part réellement courue, soit 15 050 € au 15 septembre.
Exemple 3

Comment l'argument base change le résultat de la fonction FRACTION.ANNEE

Ton calcul d'intérêts ne tombe pas sur le même montant que celui de la banque, alors que vous partez des deux mêmes dates. Avant d'accuser un arrondi, il faut regarder la convention de décompte de chacun, parce que c'est presque toujours de là que vient l'écart.

En faisant varier la seule base sur des dates identiques, la fonction FRACTION.ANNEE met les cinq conventions côte à côte.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTION.ANNEE(.
  2. 2
    En 1er argument : écris la date de début et referme-la, DATE(2024;1;1). Elle est saisie en dur, à l'identique sur les cinq lignes, pour que rien d'autre que la base ne change d'une ligne à l'autre.
  3. 3
    En 2ᵉ argument : écris la date de fin et referme-la, DATE(2024;9;15). Comme la première, elle ne bouge jamais, et c'est ce qui rend la comparaison lisible, puisque tout écart ne peut alors venir que du troisième argument.
  4. 4
    En 3ᵉ argument : clique sur la base, A2, qui prend les cinq valeurs admises de 0 à 4, une par ligne. Retiens que 0 est la convention appliquée quand tu omets l'argument, soit le 30/360 américain, et que la base 1 (réel/réel) ne se confond pas avec le 30/360 européen, qui porte le numéro 4.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=FRACTION.ANNEE(DATE(2024;1;1); DATE(2024;9;15); A2)
Explication
Les deux dates ne bougent pas d'une ligne à l'autre, seule la base change, et pourtant les cinq résultats diffèrent. La base 2 sort la plus grosse fraction (elle divise 258 jours réels par 360), la base 1 la plus petite (elle divise ces mêmes 258 jours par les 366 jours de 2024, année bissextile).
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec FRACTION.ANNEE

1Astuce

Convertis facilement en mois ou jours

FRACTION.ANNEE retourne toujours des années décimales. Pour obtenir des mois, multiplie par 12 : =FRACTION.ANNEE(...) * 12. Pour des jours approximatifs, multiplie par 365. Par exemple, 2,5 années = 30 mois = 912,5 jours.
Dès que tu veux une ancienneté lisible (« 3 ans et 4 mois »), bascule sur DATEDIF ; FRACTION.ANNEE reste pour les calculs au prorata.

2Astuce

Utilise AUJOURDHUI() pour des calculs dynamiques

Pour calculer une ancienneté qui se met à jour automatiquement, utilise =FRACTION.ANNEE(date_embauche; AUJOURDHUI(); 1). Le résultat s'actualise chaque jour sans intervention manuelle.
Combine avec ENT() si tu n'as besoin que des années complètes : =ENT(FRACTION.ANNEE(date_embauche; AUJOURDHUI(); 1)).

3Astuce

Sécurise tes formules contre les dates inversées

Si les dates peuvent être saisies dans n'importe quel ordre, enveloppe dans ABS() pour éviter des valeurs négatives silencieuses : =ABS(FRACTION.ANNEE(A1; B1; 1)). Pour gérer les cellules vides, ajoute SIERREUR par-dessus.
Sur de longs prêts ou de grands tableaux, une valeur négative non détectée peut fausser tout un rapport.

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction FRACTION.ANNEE

Avec FRACTION.ANNEE, le vrai danger c'est qu'elle ne crie presque jamais : choisir la mauvaise base ou inverser tes deux dates ne déclenche aucun message, juste un chiffre faux (ou négatif) qui se fond dans le tableau. Sur un gros emprunt, ce silence peut coûter plusieurs centaines d'euros sans que personne ne le remarque.

Les seuls cas où elle proteste vraiment, c'est quand tes dates arrivent en texte (#VALEUR!) ou quand tu confonds le résultat décimal avec des mois. Les voici en détail.

Utiliser la mauvaise base de calcul

Chaque secteur a ses conventions. Sur un emprunt de 1 million d'euros à 5%, un écart de 0,01 année entre les bases peut représenter 500 € d'écart. Les erreurs de base sont silencieuses : la formule ne renvoie pas d'erreur.

Solution : Vérifie les normes de ton secteur ou les clauses du contrat. En cas de doute : applique base 1 pour les RH, base 2 pour les banques commerciales, base 0 pour la finance américaine, base 4 pour la finance européenne.

Dates inversées donnant une valeur négative

Si date_fin est antérieure à date_début, Excel retourne une valeur négative sans message d'erreur. C'est rarement voulu et peut passer inaperçu dans un grand tableau.

Solution : Utilise =ABS(FRACTION.ANNEE(A1; B1; 1)) pour obtenir la valeur absolue si l'ordre des dates n'est pas garanti. Ou ajoute une validation conditionnelle pour t'avertir dès que le résultat est négatif.

Erreur #VALEUR! avec des dates stockées en texte

Si les dates sont stockées en texte (souvent après un import CSV ou une saisie manuelle), Excel ne peut pas les interpréter comme des dates et renvoie #VALEUR!.

Solution : Utilise toujours DATE(année; mois; jour) pour construire tes dates de façon fiable : DATE(2024;3;15) plutôt que "15/03/2024". Pour des dates existantes en texte, convertis-les d'abord avec la fonction DATEVAL.

Obtenir des mois au lieu d'années décimales

Erreur classique : on s'attend à obtenir des mois mais FRACTION.ANNEE retourne toujours des années. Par exemple, 6 mois = 0,5 (année), pas 6.

Solution : Pour convertir en mois : =FRACTION.ANNEE(...) * 12. Pour des jours approximatifs : =FRACTION.ANNEE(...) * 365. Pour des semaines : =FRACTION.ANNEE(...) * 52.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

FRACTION.ANNEE vs DATEDIF vs JOURS vs NB.JOURS.OUVRES

Prends FRACTION.ANNEE dès qu'il te faut un nombre au prorata : intérêts courus, primes, loyers, rendement annualisé. C'est la seule des quatre à te donner du décimal et à proposer 5 conventions comptables. Pour juste afficher une ancienneté lisible (« 3 ans et 4 mois »), DATEDIF est plus parlant.

Quand tu n'as besoin que du nombre de jours bruts entre deux dates, JOURS suffit ; et si tu veux exclure week-ends et jours fériés pour un planning, c'est NB.JOURS.OUVRES qu'il te faut, pas FRACTION.ANNEE.

CritèreFRACTION.ANNEEDATEDIFJOURSNB.JOURS.OUVRES
Type de résultatDécimal (fraction d'année)Entier (années/mois/jours)Entier (jours)Entier (jours ouvrés)
PrécisionTrès précis (décimal)Précis mais entierExact en joursExact (jours travaillés)
Usage principalFinance, calculs au prorataAffichage anciennetéDélais, écarts simplesPlanning projet, RH
Conventions multiples5 bases différentesUne seule méthodeUne seule méthodeJours fériés exclus
Exemple (6 mois)0,5"m" → 6 ou "y" → 0~183 jours~130 jours ouvrés
Vrai ou faux ?
« FRACTION.ANNEE me renvoie des mois. » Faux : elle donne toujours des années décimales, où 0,5 vaut 6 mois et 0,25 vaut 3 mois. Pour lire le résultat en mois, multiplie-le par 12.
FAQ

Questions fréquentes

La base 1 (Réel/réel) est la plus précise et la plus recommandée pour les calculs RH. La base 0 (US 30/360) est le standard en finance américaine. La base 2 (Réel/360) est utilisée par les banques pour les intérêts. La base 3 (Réel/365) simplifie les calculs avec un diviseur fixe. La base 4 (Européenne 30/360) est la norme pour les obligations européennes. Choisis selon ton secteur et tes conventions comptables.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction FRACTION.ANNEE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir