🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel FACT (factorielle) — n!, FACTDOUBLE & MULTINOMIALE (et le débordement à 171!)

|

Excel FACT (factorielle) — n!, FACTDOUBLE & MULTINOMIALE (et le débordement à 171!)

En bref=FACT(n) renvoie n factoriellen × (n−1) × … × 1 — soit le nombre de façons d'arranger n objets distincts dans un ordre donné. =FACT(5) vaut 120. Deux faits vous sauvent à tous les coups : FACT(0) vaut 1 (il existe exactement une façon de n'arranger rien) et les factorielles explosentFACT(170) est un nombre à 307 chiffres, et FACT(171) déborde Excel et renvoie #NOMBRE!. FACTDOUBLE saute un terme sur deux ; MULTINOMIALE gère les arrangements à groupes répétés. FACT est la brique élémentaire sous COMBIN et PERMUTATION.

=FACT(5)             ' 5×4×3×2×1 -> 120
=FACT(0)             ' par définition -> 1
=FACT(171)           ' trop grand pour Excel -> #NOMBRE!  (170! est le plafond)
=FACTDOUBLE(7)       ' 7×5×3×1 -> 105
=MULTINOMIALE(2;3;4) ' 9! / (2!·3!·4!) -> 1260

La plupart des pages définissent FACT en une ligne — « renvoie la factorielle d'un nombre » — et montrent =FACT(5). C'est la partie facile. Ce qui fait vraiment trébucher, c'est à quoi sert une factorielle, pourquoi FACT(0) renvoie 1 et non 0, et pourquoi une entrée d'apparence modeste comme 171 déclenche soudain une erreur. Saisissez d'abord le sens et chacune de ces surprises cesse d'en être une.

Ce que vous allez apprendre

  • Le modèle mental : une factorielle compte les ordonnancements d'objets distincts
  • Pourquoi =FACT(0) vaut 1, et non 0 — et pourquoi cette convention compte
  • Pourquoi =FACT(171) renvoie #NOMBRE! et pourquoi 170! est le plafond absolu d'Excel
  • Comment FACT tronque les décimales et rejette les négatifs
  • FACTDOUBLE (produits à terme sauté) et MULTINOMIALE (arrangements groupés)
  • Pourquoi FACT est l'atome dont COMBIN et PERMUTATION sont bâtis

Le modèle mental : une factorielle compte les ordonnancements

FACT(n) n'est pas une astuce mathématique abstraite — elle répond à une question concrète : en combien d'ordres différents puis-je arranger n objets distincts ? Alignez 3 livres sur une étagère et il existe 3! = 3×2×1 = 6 ordres possibles. Ajoutez un quatrième livre et cela fait 4! = 24. Chaque nouvel objet multiplie le décompte par le nombre de positions qu'il pourrait occuper, et c'est pourquoi la formule est un produit en cascade : n × (n−1) × (n−2) × … × 1.

Ce cadrage en « produit en cascade » est le fil qui relie toute cette famille. Une factorielle n'est qu'un PRODUIT d'un compte à rebours. Les combinaisons et les permutations sont des rapports de deux tels produits. Une fois que vous voyez la factorielle comme une multiplication qui part petit et enfle vite, sa puissance comme son mode de défaillance (elle devient énorme) en découlent naturellement.

Pourquoi FACT(0) vaut 1, et non 0

Cela ressemble à un bug et c'est en réalité la clé de voûte de tout le système :

=FACT(0)   ' -> 1

Il existe exactement une façon d'arranger un ensemble vide — l'arrangement vide — donc 0! est défini comme valant 1, et non 0. Au-delà de l'intuition « une seule façon de n'arranger rien », c'est cette convention qui fait fonctionner les formules de combinaison et de permutation à leurs bornes : COMBIN(n; n) (les choisir tous) doit valoir 1, et la seule façon dont la formule factorielle y parvient est que 0! = 1. Si FACT(0) renvoyait 0, vous obtiendriez une division par zéro partout où ces formules touchent une borne. Ainsi la réponse « bizarre » est exactement celle qui garde tout le reste cohérent — mémorisez-la comme une règle, pas comme une curiosité.

Le plafond de débordement : FACT(171) donne #NOMBRE!

Les factorielles croissent plus vite que presque tout ce que vous taperez dans une cellule, et cela a une conséquence brutale :

=FACT(170)   ' -> 7,257...E+306   (un nombre à 307 chiffres, encore correct)
=FACT(171)   ' -> #NOMBRE!         (au-delà du plus grand nombre d'Excel)

Le plus grand nombre représentable par Excel avoisine 1,8×10³⁰⁸. FACT(170) s'y glisse tout juste en dessous ; FACT(171) le dépasse et renvoie #NOMBRE! — l'erreur « nombre hors plage ». 170! est la plus grande factorielle qu'Excel puisse calculer, un point c'est tout. Si vous injectez FACT dans une formule de probabilité et que vous voyez #NOMBRE!, c'est généralement pour cette raison : une factorielle intermédiaire a débordé, alors même que la réponse finale (un rapport) aurait été petite. C'est exactement le problème que résolvent COMBIN et PERMUTATION — ils calculent le rapport sans jamais matérialiser les factorielles géantes. Recourez à eux plutôt que de bâtir =FACT(n)/FACT(n-k) à la main.

Décimales et négatifs

Deux règles plus mineures complètent le comportement de FACT :

=FACT(5,9)   ' tronqué à 5 -> 120   (pas arrondi à 6)
=FACT(-1)    ' les factorielles ne sont pas définies pour les négatifs -> #NOMBRE!

Une entrée non entière est tronquée, pas arrondie — FACT(5,9) utilise 5, pas 6. Et les factorielles n'ont aucun sens pour les nombres négatifs, donc tout argument négatif renvoie #NOMBRE!. (La véritable « factorielle généralisée » pour les non-entiers est la fonction gamma, qu'Excel expose séparément via GAMMA / LNGAMMA ; FACT elle-même ne traite que les entiers.)

FACTDOUBLE : sauter un terme sur deux

FACTDOUBLE calcule la factorielle double — le produit qui saute un nombre sur deux en descendant :

=FACTDOUBLE(7)   ' 7×5×3×1 -> 105   (n impair : uniquement les nombres impairs)
=FACTDOUBLE(8)   ' 8×6×4×2 -> 384   (n pair : uniquement les nombres pairs)
=FACTDOUBLE(0)   ' -> 1

Pour un n impair, elle multiplie les nombres impairs jusqu'à 1 ; pour un n pair, les nombres pairs jusqu'à 2. On la rencontre en combinatoire et dans certaines formules de physique et de statistique (les intégrales de puissances de sinus et de cosinus, par exemple). Vous n'en aurez pas souvent besoin, mais quand une formule réclame n!! — deux points d'exclamation, la factorielle double — c'est cette fonction, pas FACT(FACT(n)).

MULTINOMIALE : les arrangements à groupes répétés

MULTINOMIALE répond à une question de dénombrement plus subtile : de combien de façons distinctes peut-on arranger des objets quand certains sont identiques ? Sa formule est la factorielle de la somme des arguments, divisée par le produit de la factorielle de chaque argument :

=MULTINOMIALE(2; 3; 4)   ' (2+3+4)! / (2!·3!·4!) = 9!/288 -> 1260

L'usage classique est le dénombrement des anagrammes d'un mot à lettres répétées, ou le partage de n objets en groupes de tailles fixées. Arranger les lettres d'un mot de 9 lettres composé d'une lettre répétée deux fois, d'une autre trois fois et d'une autre quatre fois donne 1260 ordonnancements distincts — bien moins que 9! = 362 880, car échanger deux lettres identiques ne crée pas un nouvel arrangement. MULTINOMIALE intègre cette division pour vous.

Où se place FACT : l'atome du dénombrement

Tout l'arsenal combinatoire d'Excel se ramène aux factorielles :

  • PERMUTATION(n; k) = n! / (n−k)! — arrangements ordonnés de k parmi n.
  • COMBIN(n; k) = n! / (k!·(n−k)!) — sélections non ordonnées.

Toutes deux sont des rapports de factorielles, et c'est précisément pourquoi vous devriez laisser ces fonctions les calculer plutôt que de diviser vous-même des appels à FACT : elles évitent le débordement qu'un FACT(n) brut atteint dès 171. Voyez FACT comme l'atome et COMBIN/PERMUTATION comme les molécules qu'on en construit — le guide COMBIN & PERMUTATION reprend exactement là.

Comment ExcelMaster vous aide

Les factorielles sont faciles à appeler et faciles à mal employer — un #NOMBRE! venu d'un intermédiaire qui a débordé, ou une probabilité faussée parce que 0! a été mal géré quelque part en amont. Demandez à ExcelMaster « de combien de façons puis-je ordonner ces 8 éléments ? » et il renvoie =FACT(8) avec la réponse et le raisonnement. Demandez « pourquoi ma formule de probabilité renvoie-t-elle #NOMBRE! ? » et il repère la factorielle surdimensionnée, puis réécrit l'expression avec COMBIN pour que l'intermédiaire géant ne se forme jamais.

Questions fréquentes

Comment calculer une factorielle dans Excel ?

Utilisez FACT : =FACT(5) renvoie 120 (soit 5×4×3×2×1). Elle accepte aussi une référence de cellule — =FACT(A1). L'entrée doit être un nombre positif ou nul ; les décimales sont tronquées à l'entier inférieur, et les négatifs renvoient #NOMBRE!.

Pourquoi FACT(0) renvoie-t-il 1 dans Excel ?

Parce que 0! est défini comme valant 1 en mathématiques — il existe exactement une façon d'arranger zéro élément (l'arrangement vide). Cette convention garde aussi les formules de combinaison et de permutation cohérentes à leurs bornes, où elles diviseraient sinon par zéro. =FACT(0) renvoyant 1 est correct, ce n'est pas un bug.

Pourquoi FACT renvoie-t-il une erreur #NOMBRE! ?

Deux raisons courantes : l'entrée est négative (les factorielles ne sont pas définies pour les négatifs), ou le résultat est trop grand — Excel ne peut pas représenter un nombre supérieur à environ 1,8×10³⁰⁸, si bien que =FACT(171) et au-delà débordent en #NOMBRE!. La plus grande factorielle qu'Excel puisse calculer est 170!. Si vous n'avez besoin que d'un rapport de factorielles, utilisez COMBIN ou PERMUTATION pour éviter le débordement.

Quelle est la différence entre FACT et FACTDOUBLE ?

FACT(n) multiplie chaque entier de n jusqu'à 1 (n!). FACTDOUBLE(n) en saute un sur deux — la factorielle double n!! — donc FACTDOUBLE(7) vaut 7×5×3×1 = 105 et FACTDOUBLE(8) vaut 8×6×4×2 = 384. N'utilisez FACTDOUBLE que lorsqu'une formule réclame spécifiquement n!!.

Que fait MULTINOMIALE ?

MULTINOMIALE(a; b; c; …) renvoie (a+b+c+…)! divisé par a!·b!·c!·…. Elle compte les arrangements distincts d'objets répartis en groupes de ces tailles — utile pour les mots à lettres répétées ou le partage d'objets en groupes de taille fixe. =MULTINOMIALE(2;3;4) renvoie 1260.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 26/07/2026.

Guides associés : Excel COMBIN & PERMUTATION · Excel PRODUIT · Excel PUISSANCE & RACINE · Excel ARRONDI · Excel SOMMEPROD