Documentation

Cookies

Nous utilisons les cookies afin de vous garantir la meilleure expérience sur notre site. Vous pouvez modifier vos préférences à tout moment en cliquant sur "Cookies" en pied de page.

Fonctions numériques

Les fonctions numériques vous aident à calculer des pourcentages, formater des montants, et manipuler des nombres de diverses façons.

Calculs

POURCENTAGE(valeur, pourcentage)

Calcule un pourcentage d'une valeur. Le pourcentage peut être spécifié avec ou sans le symbole %.

JavaScript
// Calculer 20% de 500
POURCENTAGE(500, 20)                         // 100
POURCENTAGE(500, 20%)                        // 100 (même résultat)

// Calculer la TVA (20.9%)
POURCENTAGE({{produit.prixHT}}, 20.9%)

// Calculer une remise de 15%
var remise = POURCENTAGE({{commande.total}}, 15);
{{commande.total}} - remise

Équivalent : POURCENTAGE(100, 20) est identique à 100 * 20 / 100 ou 100 * 0.20.

OPPOSÉ(nombre)

Retourne l'opposé d'un nombre (multiplie par -1).

JavaScript
OPPOSÉ(5)                                    // -5
OPPOSÉ(-10)                                  // 10
OPPOSÉ({{compte.solde}})                     // Inverse le signe du solde

OPPOSÉ.SI(nombre, condition)

Retourne l'opposé du nombre uniquement si la condition est vraie. Sinon, retourne le nombre tel quel.

JavaScript
// Rendre négatif si c'est un débit
OPPOSÉ.SI(100, {{transaction.type}} == "débit")     // -100 si débit, 100 sinon

// Rendre négatif si montant positif et vice versa
OPPOSÉ.SI({{montant}}, {{inverser}} == true)

// Exemple concret
OPPOSÉ.SI(10, 5 > 3)                         // -10 (car 5 > 3 est vrai)
OPPOSÉ.SI(10, 5 < 3)                         // 10 (car 5 < 3 est faux)

Formatage

FIXER.DECIMALES(nombre, nombreDecimales)

Formate un nombre avec un nombre spécifique de décimales. Retourne une chaîne de caractères.

JavaScript
FIXER.DECIMALES(123.456, 2)                  // "123.46"
FIXER.DECIMALES(100, 2)                      // "100.00"
FIXER.DECIMALES(3.14159, 4)                  // "3.1416"
FIXER.DECIMALES({{produit.prix}}, 2)         // Prix avec 2 décimales

Bon à savoir : Cette fonction arrondit le nombre si nécessaire. 123.456 arrondi à 2 décimales donne 123.46.

REMPLIR.ZEROS(nombre, longueur)

Ajoute des zéros à gauche d'un nombre pour atteindre la longueur souhaitée. Idéal pour les numéros de référence.

JavaScript
REMPLIR.ZEROS(7, 3)                          // "007"
REMPLIR.ZEROS(42, 5)                         // "00042"
REMPLIR.ZEROS(123, 3)                        // "123" (déjà assez long)
REMPLIR.ZEROS(2602, 3)                       // "2602" (plus long que demandé)

// Générer un numéro de facture
CONCAT("FAC-", REMPLIR.ZEROS({{facture.numero}}, 5))  // "FAC-00042"

Utile pour : Numéros de facture, codes produit, références client, numéros de commande, etc.

Conversion

NOMBRE(texte)

Convertit du texte en nombre entier. Utile quand vous devez extraire un nombre d'une chaîne de caractères.

JavaScript
NOMBRE("42")                                 // 42
NOMBRE("007")                                // 7 (les zéros initiaux sont ignorés)
NOMBRE("123")                                // 123

// Extraire un numéro d'un code
var code = "MIEL042";
var partie = COUPER(code, 3, 4);             // "042"
NOMBRE(partie)                               // 42

Attention : Cette fonction attend une chaîne contenant uniquement des chiffres. Si le texte contient des lettres ou des symboles, le résultat peut être imprévisible.

COMPTER(valeur)

Retourne la longueur d'une chaîne ou d'un tableau. Pour un nombre Decimal, retourne le nombre lui-même.

JavaScript
COMPTER("Bonjour")                           // 7 (caractères)
COMPTER([1, 2, 3, 4, 5])                     // 5 (éléments)
COMPTER({{commande.produits}})               // Nombre de produits

// Vérifier la longueur d'un champ
SI COMPTER({{client.telephone}}) == 10
ALORS "Numéro valide"
SINON "Numéro invalide"
FINSI

Exemples pratiques

Formater un prix pour affichage

JavaScript
var prixTTC = {{produit.prixHT}} * 1.20;
CONCAT(FIXER.DECIMALES(prixTTC, 2), " €")

// Résultat: "149.99 €"

Générer un numéro de facture incrémental

JavaScript
var annee = ANNEE(AUJOURDHUI());
var mois = REMPLIR.ZEROS(MOIS(AUJOURDHUI()) + 1, 2);
var numero = REMPLIR.ZEROS({{facture.numero}}, 4);

CONCAT("FAC-", annee, "-", mois, "-", numero)

// Résultat: "FAC-2026-01-0042"

Calculer une remise progressive

JavaScript
var total = {{commande.total}};
var tauxRemise =
  SI total >= 1000 ALORS 15
  SINON SI total >= 500 ALORS 10
  SINON SI total >= 100 ALORS 5
  SINON 0
  FINSI;

var montantRemise = POURCENTAGE(total, tauxRemise);
var totalFinal = total - montantRemise;

CONCAT(
  "Total: ", FIXER.DECIMALES(total, 2), " € - ",
  "Remise ", tauxRemise, "% = ",
  FIXER.DECIMALES(montantRemise, 2), " € - ",
  "Net: ", FIXER.DECIMALES(totalFinal, 2), " €"
)

Extraire et incrémenter un numéro de code

JavaScript
// Codes existants: ["PRJ001", "PRJ002", "PRJ003"]
var codes = {{projet.codesExistants}};
var numeros = TRANSFORMER(codes, NOMBRE(COUPER({{$}}, 3, 3)));
var prochainNumero = MAX(numeros) + 1;

CONCAT("PRJ", REMPLIR.ZEROS(prochainNumero, 3))

// Résultat: "PRJ004"

Écriture comptable (débit/crédit)

JavaScript
var montant = {{ecriture.montant}};
var estDebit = {{ecriture.type}} == "débit";

SI estDebit
ALORS CONCAT("- ", FIXER.DECIMALES(montant, 2), " €")
SINON CONCAT("+ ", FIXER.DECIMALES(montant, 2), " €")
FINSI

// Ou avec OPPOSÉ.SI pour le calcul
OPPOSÉ.SI({{ecriture.montant}}, {{ecriture.type}} == "débit")

Prochaine étape

Découvrez maintenant les fonctions de manipulation de texte pour formater et transformer vos chaînes de caractères.