7 façons de calculer la factorielle dans Microsoft Excel 

Vous avez besoin de calculer la factorielle d’un nombre dans Excel ?

Excel est tout simplement une calculatrice très grande et flexible, il est donc logique que certaines personnes l’utilisent pour les problèmes de mathématiques.

La factorielle est souvent utilisée en statistique pour calculer les permutations et les combinaisons d’événements. Il est donc probable que vous ayez à la calculer assez souvent lorsque vous effectuez des travaux statistiques dans Excel.

Ce post vous montrera toutes les façons dont vous pouvez trouver la factorielle d’un nombre entier dans Excel.

Qu’est-ce qu’une factorielles ?

La factorielle d’un nombre entier est le produit de tous les nombres entiers jusqu’à et y compris ce nombre. La factorielle d’un nombre n est généralement représentée par un caractère d’exclamation n ! après le nombre.

Voici quelques exemples de calculs factoriels.

  • La factorielle 5 est représentée par 5 ! et c’est juste 5 * 4 * 3 * 2 * 1 = 120.
  • La factorielle de 6 est représentée par 6 ! et c’est juste 6 * 5 * 4 * 3 * 2 * 1 = 720.
  • La factorielle 7 est représentée par 7 ! et c’est juste 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040.

Comme vous pouvez le constater, les valeurs deviennent rapidement importantes.

⚠️ Attention: Vous ne pourrez calculer que jusqu’à 170 ! dans Excel, et au-delà, le calcul retournera une erreur #NUM ! car le résultat sera trop grand.

Calculer le factoriel avec la fonction FACT

Excel dispose d’une fonction dédiée au calcul de la factorielle d’un nombre.

= FACT ( number )

La fonction FACT prend une valeur entière positive et renvoie la factorielle de ce nombre.

  • nombre est le nombre sur lequel retourner la factorielle.
= FACT ( B3 )

La formule ci-dessus renvoie la factorielle de la valeur de la cellule B3.

Le nombre transmis à la fonction FACT doit être un nombre entier positif.

  • Les nombres négatifs entraîneront une erreur #NUM !
  • La factorielle de 0 et 1 donnera 1.
  • Les valeurs décimales positives sont tronquées avant le calcul de la factorielle.

Calculer la factorielle avec la fonction FACTDOUBLE

Il existe une autre fonction factorielle dans Excel appelée FACTDOUBLE.

D’après le nom de la fonction, vous pourriez penser qu’elle prend la factorielle et la multiplie par 2. Mais ce n’est pas ce qu’elle fait.

La double factorielle (ou semi-factorielle) est un autre calcul mathématique qui se définit de manière similaire à la factorielle.

  • Pour les nombres pairs, la double factorielle est le produit de tous les nombres entiers pairs jusqu’à et y compris ce nombre.
  • Pour les nombres impairs, la double factorielle est le produit de tous les nombres entiers impairs jusqu’à et y compris ce nombre.

La double factorielle de n est représentée par deux caractères de point d’exclamation n !!.

Voici quelques exemples de calculs de double factorielle.

  • La double factorielle de 5 est représentée par 5 !! et c’est juste 5 * 3 * 1 = 15.
  • La double factorielle de 6 est représentée par 6 !! et c’est juste 6 * 4 * 2 = 48.
  • La double factorielle de 7 est représentée par 7 !! et c’est juste 7 * 5 * 3 * 1 = 105.

Cela signifie que la factorielle de n est la même que la double factorielle de n multipliée par la double factorielle de n-1.

En symboles, c’est n ! = n !! * (n-1) !!.

= FACTDOUBLE ( B3 ) * FACTDOUBLE ( B3 - 1 )

La formule ci-dessus renvoie la factorielle de la valeur de la cellule B3.

Cette formule calcule la double factorielle du nombre dans la cellule B3 et la double factorielle du nombre dans B3 moins 1, puis multiplie les deux doubles factorielles, ce qui donne la factorielle.

Calculer la factorielle avec la fonction SEQUENCE

Bien qu’il existe une fonction dédiée pour calculer vos valeurs factorielles, d’autres options créatives sont disponibles.

Vous pouvez utiliser une combinaison des fonctions PRODUIT et SEQUENCE pour créer un calcul factoriel.

= PRODUCT ( SEQUENCE ( B3 ) )

La formule ci-dessus renvoie la factorielle du nombre dans la cellule B3.

La fonction SEQUENCE vous permet de créer un tableau dynamique de valeurs qui commence à 1 et s’incrémente de 1 jusqu’au nombre donné dans la cellule B3. Ce sont exactement les valeurs dont vous avez besoin pour calculer une factorielle.

La fonction PRODUIT peut alors être utilisée pour multiplier chacune de ces valeurs de la SÉQUENCE. Ce résultat est exactement la factorielle du nombre dans la cellule B3.

Calcul de factorielle avec Power Query

Power Query dispose de nombreuses fonctions mathématiques avancées, dont une fonction factorielle.

Vous serez en mesure de calculer la factorielle de n’importe quelle colonne de chiffres dans un tableau Excel à l’aide de Power Query.

  1. Sélectionnez les données de votre tableau Excel.
  2. Allez dans l’onglet Données.
  3. Cliquez sur la commande From Table/Range.

Cela ouvrira l’éditeur Power Query où vous pourrez ajouter le calcul de la factorielle à vos données.

  1. Sélectionnez votre colonne de nombres à transformer avec l’opération factorielle.
  2. Allez dans l’onglet Transformer de l’éditeur Power Query.
  3. Cliquez sur la commande Scientific qui se trouve dans la section Number Column.
  4. Sélectionnez Factorial dans les options.
= Table.TransformColumns(#"Changed Type",{{"Number", Number.Factorial, Int64.Type}})

Cela appliquera quelque chose de similaire à la formule du code M ci-dessus en tant qu’étape de votre requête et votre colonne affichera désormais les valeurs factorielles dans l’aperçu des données.

Vous pouvez maintenant recharger les données dans Excel.

  1. Allez dans l’onglet Accueil de l’éditeur Power Query.
  2. Cliquez sur Fermer et charger.

Cela ouvrira le menu Importer des données où vous pouvez choisir d’importer les données dans un tableau et ensuite choisir l’emplacement du tableau.

Calcul de factorielle avec la fonction LAMBDA

Le calcul factoriel est récursif. Cela signifie que vous pouvez définir la valeur actuelle en fonction de la valeur précédente.

La factorielle de n est en fait n multiplié par la factorielle de n-1. En symboles, cela donne n ! = n * (n-1) !

Il existe une fonction dans Excel qui peut gérer les calculs récursifs. Il s’agit de la fonction LAMBDA.

La fonction LAMBDA vous permet de construire vos propres fonctions personnalisées. Vous pouvez l’utiliser pour construire votre propre version d’une fonction factorielle.

Pour utiliser la fonction LAMBDA de manière récursive, vous devez d’abord définir votre fonction personnalisée avec le gestionnaire de noms.

  1. Allez dans l’onglet Formules.
  2. Cliquez sur la commande Gestionnaire de noms.

Le Gestionnaire de noms s’ouvre alors et répertorie tous les objets nommés dans le classeur Excel.

  1. Appuyez sur le bouton Nouveau.
  1. Ajoutez FACTORIAL dans l’entrée Nom.
=LAMBDA(n,LET(integer,INT(n),IF(integer<2,1,integer*FACTORIAL(integer-1))))
  1. Collez la formule ci-dessus dans l’entrée Refers to.
  2. Appuyez sur le bouton OK pour fermer le menu Nouveau nom.
  3. Appuyez sur le bouton Fermer pour fermer le menu Gestionnaire de noms.

📝 Note: Le nom utilisé dans le menu Nouveau nom doit correspondre à celui utilisé dans l’entrée Réfère à la formule LAMBDA afin de référencer les calculs de manière récursive.

L’entier*FACTORIAL(entier-1) est la partie principale du calcul de la formule qui calcule récursivement la factorielle.

La fonction IF teste d’abord le nombre et applique le calcul récursif s’il s’agit d’un nombre supérieur à 1, sinon, le résultat de la factorielle sera 1.

La fonction LET aide simplement à simplifier la formule en définissant l’entier comme INT(n) qui est la partie entière du nombre n. Ceci est ensuite utilisé à plusieurs endroits dans le calcul factoriel.

=LAMBDA(n,IF(INT(n)<2,1,INT(n)*FACTORIAL(INT(n)-1))))

Alternativement, sans la fonction LET, la formule LAMBDA pourrait être écrite comme ci-dessus. La fonction LET permet d’éviter que la fonction INT soit utilisée plusieurs fois.

Maintenant, la nouvelle fonction FACTORIAL est définie dans le gestionnaire de noms et elle peut être utilisée comme n’importe quelle autre fonction dans le classeur.

= FACTORIAL ( B3 ) 

La fonction LAMBDA personnalisée ci-dessus retournera la factorielle basée sur la valeur dans la cellule B3.

Calcul de factorielle avec VBA

VBA possède de nombreuses fonctions intégrées, mais il n’existe pas de fonction factorielle.

Mais vous pouvez créer une fonction qui peut être appelée dans toute autre procédure pour calculer la factorielle si nécessaire.

Public Function Factorial(ByVal myNumber As Integer) As Long
If myNumber < 1 Then
    Factorial = 1
Else
    Factorial = myNumber * Factorial(myNumber - 1)
End If
End Function

Le code ci-dessus crée une fonction factorielle qui prend un nombre comme argument et renvoie la factorielle.

Ce code est une définition récursive, comme vous pouvez le voir, la fonction Factorial() s’appelle elle-même pour effectuer le calcul.

Calcul de factorielle avec des scripts Office

Le langage TypeScript que l’on trouve dans Office Scripts ne dispose pas non plus d’une fonction factorielle intégrée.

Mais vous pouvez également construire votre propre calcul factoriel de manière récursive, qui peut ensuite être appelé depuis votre fonction principale.

function factorial(myNumber: number): number {
    if (myNumber == 0) {
        return 1
    }
    else {
        return myNumber * factorial(myNumber - 1)
    }
};

La fonction Office Script ci-dessus renvoie la factorielle d’un nombre donné.

La fonction est définie de manière récursive. Vous pouvez voir que factorial() s’appelle elle-même dans le calcul.

Conclusions

Il existe de nombreuses raisons pour lesquelles vous pouvez avoir besoin de calculer la factorielle d’un nombre dans Excel.

Ce post vous a montré les différentes méthodes que vous pouvez utiliser.

La façon la plus directe d’obtenir la factorielle sera avec la fonction FACT. Mais vous pouvez aussi obtenir le même résultat avec quelques autres formules créatives impliquant les fonctions FACTDOUBLE, SEQUENCE et PRODUIT.

Power Query propose également une formule de code M factoriel qui s’utilise facilement depuis le ruban de l’éditeur.

Puisque la factorielle peut être définie de manière récursive, vous pouvez même créer votre propre fonction personnalisée en utilisant les pouvoirs récursifs de la fonction LAMBDA.

Une logique de récurrence similaire peut être utilisée pour construire des fonctions VBA et Office Scripts permettant d’obtenir la factorielle.

Connaissiez-vous toutes ces façons d’obtenir la factorielle dans Excel ? Faites-le moi savoir dans les commentaires !