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 %.
// 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).
OPPOSÉ(5) // -5
OPPOSÉ(-10) // 10
OPPOSÉ({{compte.solde}}) // Inverse le signe du soldeOPPOSÉ.SI(nombre, condition)
Retourne l'opposé du nombre uniquement si la condition est vraie. Sinon, retourne le nombre tel quel.
// 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.
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écimalesBon à 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.
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.
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) // 42Attention : 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.
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"
FINSIExemples pratiques
Formater un prix pour affichage
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
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
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
// 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)
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.