Aller au contenu principal

Qu'est-ce que la fonction FACT ?

Définition
La fonction FACT calcule la factorielle d'un entier positif ou nul : elle multiplie tous les entiers de 1 jusqu'à n. Par définition mathématique, FACT(0) vaut 1. La valeur maximale acceptée est 170.

FACT (FACT en anglais aussi) te sert dès que tu dois compter le nombre de façons d'ordonner ou de combiner des éléments, sans énumérer chaque possibilité une par une. C'est la brique de base sur laquelle reposent tes formules de combinaisons et de permutations.

Concrètement, c'est elle qui entre en jeu quand tu calcules combien de mains de poker sont possibles avec 52 cartes, combien d'équipes différentes tu peux former parmi 12 employés, dans combien d'ordres tes 8 étudiants peuvent passer à l'oral, ou encore quand tu calcules un coefficient binomial pour une analyse statistique.

Syntaxe

=FACT(nombre)

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 FACT

1

nombre

: l'entier positif (ou zéro) dont tu veux calculer la factorielle

Il doit être compris entre 0 et 170. Excel tronque automatiquement les décimales avant le calcul : FACT(5,7) calcule FACT(5) et renvoie 120.

Les factorielles grossissent très vite : 13! vaut déjà environ 6 milliards, 20! dépasse les 2 quintillions. Au-delà de FACT(170), le résultat dépasse 10^308, la limite numérique d'Excel, et tu obtiens #NOMBRE!.

Attention : Les factorielles explosent très vite. FACT(171) génère #NOMBRE!. Pour les très grands nombres, vérifie systématiquement que ta valeur est inférieure ou égale à 170 avant de calculer.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer le nombre de combinaisons possibles avec la fonction FACT

Un joueur t'affirme que sa main de poker était « impossible » et tu veux lui donner le chiffre exact plutôt qu'une impression. Ton tableau liste, pour chaque tirage, le nombre total de cartes du jeu et le nombre de cartes tirées, et tu cherches le nombre de mains différentes que ce tirage autorise. La fonction FACT fournit les trois factorielles dont la formule des combinaisons a besoin, sans que tu aies à dérouler la moindre multiplication à la main.

Les étapes
  1. 1
    Dans une cellule, écris =FACT(.
  2. 2
    En 1er argument : clique sur la cellule du total de cartes, B2. Ce premier appel porte sur les 52 cartes du jeu et compte tous les ordres de tirage possibles, y compris ceux qui ne diffèrent que par l'ordre dans lequel les cartes arrivent.
  3. 3
    Ferme la parenthèse, complète par /(FACT(C2)*FACT(B2-C2)), appuie sur Entrée, puis recopie la formule vers le bas. Le deuxième appel prend les 5 cartes tirées et efface l'ordre à l'intérieur de la main, tandis que le troisième porte sur les 47 cartes restées dans le paquet, un nombre que la soustraction B2-C2 calcule à ta place. Les parenthèses autour du produit sont indispensables, car sans elles Excel divise par le premier facteur puis multiplie par le second.
Au final, ta formule devrait ressembler à ça :=FACT(B2)/(FACT(C2)*FACT(B2-C2))
Explication
La fonction FACT est appelée trois fois pour appliquer la formule des combinaisons, qui divise la factorielle du total par le produit des deux autres. Tirer 5 cartes parmi 52 laisse 2598960 mains possibles, ce qui veut dire qu'une main annoncée à l'avance a exactement une chance sur 2598960 de sortir.
Exemple 2

Comment calculer le nombre d'anagrammes d'un mot à lettres répétées avec la fonction FACT

Tu montes une grille de jeu et tu dois savoir combien de mots différents un même jeu de lettres peut produire, sinon tu ne sauras pas si ta grille est trop facile. Le piège est que les lettres répétées créent des doublons invisibles : échanger deux S de MISSISSIPPI redonne le même mot, mais un simple comptage des ordres les recompte deux fois. La fonction FACT permet de compter tous les ordres, puis de retrancher exactement ce qui se répète.

Les étapes
  1. 1
    Dans une cellule, écris =FACT(.
  2. 2
    En 1er argument : clique sur la cellule du nombre total de lettres, B2, soit 11 pour MISSISSIPPI. Ce premier appel compte tous les ordres possibles en traitant chaque lettre comme si elle était unique, donc il surcompte volontairement les mots que les lettres répétées rendent identiques.
  3. 3
    Ferme la parenthèse, complète par /(FACT(C2)*FACT(D2)*FACT(E2)), appuie sur Entrée, puis recopie la formule vers le bas. Ces trois appels prennent les 4 lettres I, les 4 lettres S et les 2 lettres P, car chaque groupe de lettres identiques réclame sa propre division. Mets 1 dans les colonnes de répétition inutilisées, comme sur BANANA, puisque la fonction FACT rend 1 pour l'argument 1 et que diviser par 1 ne change rien.
Voici la formule que tu obtiens à la fin :=FACT(B2)/(FACT(C2)*FACT(D2)*FACT(E2))
Explication
La fonction FACT compte d'abord les 39916800 ordres des onze lettres de MISSISSIPPI, puis les trois divisions suppriment les permutations qui échangent des lettres identiques et restent donc invisibles. Il ne reste que 34650 mots réellement distincts, soit à peine un millième des arrangements de départ.
Exemple 3

Comment éviter l'erreur #NOMBRE! de la fonction FACT au-delà de 170

Ta colonne de factorielles se remplit d'erreurs #NOMBRE! sur les dernières lignes et tu ne sais pas si c'est ta formule qui est cassée ou tes données qui sortent du domaine. En réalité les deux causes coexistent dans le même tableau, et elles affichent exactement le même message. La fonction FACT a une limite haute très basse au regard des nombres qu'elle produit, et SIERREUR te permet de neutraliser les lignes hors domaine sans casser le reste.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris le calcul à surveiller et referme-le, FACT(B2). La fonction FACT n'accepte qu'un entier compris entre 0 et 170 inclus. Les lignes qui restent dans ce domaine traversent SIERREUR sans être modifiées, comme le 20 de la première ligne qui rend 2,43E+18.
  3. 3
    En 2ᵉ argument : saisis le texte qui s'affiche à la place de l'erreur, "Erreur #NOMBRE!". Les guillemets sont obligatoires pour qu'Excel affiche ce texte brut. Nomme l'erreur explicitement plutôt que de saisir "", parce qu'une cellule laissée vide ne te dirait pas quelle ligne aller regarder.
  4. 4
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Les deux dernières lignes affichent alors ton message de repli, tandis que les factorielles calculables gardent leur valeur.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(FACT(B2); "Erreur #NOMBRE!")
Explication
La fonction FACT tient jusqu'à 170 inclus, où elle rend déjà 7,26E+306, et bascule en erreur #NOMBRE! dès 171 parce que le résultat sort des nombres qu'Excel sait représenter. Le même #NOMBRE! tombe sur -5, mais pour une raison toute différente : la factorielle n'existe pas pour les négatifs, quelle que soit leur taille.
Le combo gagnant
Dès que tu écris FACT(n)/(FACT(k)*FACT(n-k)) pour une combinaison, remplace-la par COMBIN(n;k) : même résultat, écriture plus courte et moins de risque de dépassement interne. Garde FACT pour montrer le calcul en clair.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec FACT

1Astuce

Utilise COMBIN pour simplifier les formules de combinaisons

Au lieu d'écrire =FACT(n)/(FACT(k)*FACT(n-k)), utilise directement =COMBIN(n;k). C'est plus lisible, moins risqué en termes d'erreur de frappe, et COMBIN gère mieux les dépassements numériques internes pour les grandes valeurs.
Préfère COMBIN pour les formules de production, garde FACT pour les démonstrations pédagogiques où tu veux montrer le calcul explicitement.

2Astuce

Calcule des arrangements avec lettres répétées (multinomial)

Pour les arrangements contenant des éléments répétés (par exemple les anagrammes d'un mot), la formule est n! / (n₁! × n₂! × ... × nₖ!). Combien d'anagrammes du mot BANANA ? B=1, A=3, N=2 : =FACT(6)/(FACT(3)*FACT(2)*FACT(1)) donne 60 anagrammes.
Cette technique s'applique aussi à la planification de campagnes pub avec des ressources identiques ou à la répartition de tâches répétitives.

3Astuce

Construis des tables de permutations pour la planification

Pour construire une table de toutes les permutations possibles pour différentes tailles de groupes, applique =FACT(A2) sur une colonne contenant les valeurs de 1 à 10. Tu visualises immédiatement la croissance exponentielle : 1!, 2!, ..., 10! de 1 à 3 628 800.
Cette vue aide à justifier pourquoi des solutions algorithmiques sont nécessaires dès qu'un problème dépasse une dizaine d'éléments.

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

Les erreurs fréquentes avec la fonction FACT

FACT n'a qu'un argument, donc ses soucis viennent tous de ce que tu lui donnes à manger. Deux cas crachent un #NOMBRE! franc : un nombre au-dessus de 170 (le résultat dépasse la limite d'Excel) ou un nombre négatif (la factorielle n'existe pas pour eux). Le troisième est plus sournois : une valeur décimale est tronquée en silence, sans la moindre alerte, ce qui te fait calculer FACT(5) alors que tu croyais passer 5,9.

Erreur #NOMBRE! pour un nombre supérieur à 170

Excel ne peut calculer que jusqu'à FACT(170). Au-delà, le résultat dépasse 10^308, la limite numérique d'Excel.

Solution : Vérifie que ton argument est inférieur ou égal à 170. Pour te protéger, utilise =SI(A1<=170;FACT(A1);"Dépassement"). Si tu as besoin de très grandes factorielles dans un calcul intermédiaire (comme C(n,k)), utilise COMBIN qui gère mieux ce cas.

Erreur #NOMBRE! pour un nombre négatif

La factorielle n'est définie que pour les entiers positifs ou nuls. FACT(-5) génère #NOMBRE! car la factorielle des nombres négatifs n'a pas de sens dans sa définition classique.

Solution : Vérifie que ton argument est positif ou nul avant de le passer à FACT. Utilise =SI(A1>=0;FACT(A1);"Valeur invalide") pour gérer proprement les entrées négatives.

Décimales tronquées sans avertissement

FACT tronque automatiquement les décimales sans signaler d'erreur. FACT(5,9) calcule FACT(5) et retourne 120. Ce comportement silencieux peut surprendre si ta cellule source contient un résultat décimal d'un calcul intermédiaire.

Solution : Si tu travailles avec des valeurs potentiellement décimales, utilise =FACT(ENT(A1)) pour rendre la troncature explicite, ou =SI(A1=ENT(A1);FACT(A1);"Entier requis") pour forcer l'utilisateur à fournir un entier.

Le chiffre clé
170 est le plafond de FACT : au-delà, le résultat dépasse la limite d'Excel (10^308) et tu obtiens #NOMBRE!. Pour les grands calculs combinatoires, préfère COMBIN, qui gère mieux ces dépassements.
FAQ

Questions fréquentes

FACT calcule la factorielle classique : n! = n × (n-1) × ... × 2 × 1. FACTDOUBLE calcule la factorielle double n!! qui multiplie un nombre par tous les entiers de même parité qui lui sont inférieurs : pour n impair, 7!! = 7 × 5 × 3 × 1 = 105 ; pour n pair, 6!! = 6 × 4 × 2 = 48. FACTDOUBLE est utilisé en physique quantique et en analyse combinatoire avancée.

Ressources

Pour aller plus loin

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

Tout voir