Fonctions de texte
Les fonctions de texte vous permettent de formater, assembler et extraire des portions de chaînes de caractères pour créer des affichages personnalisés.
Changement de casse
MAJUSCULE(texte)
Convertit tout le texte en lettres majuscules.
MAJUSCULE("bonjour") // "BONJOUR"
MAJUSCULE("Hello World") // "HELLO WORLD"
MAJUSCULE({{client.nom}}) // Nom en majuscules
// Afficher un statut en majuscules
MAJUSCULE({{commande.statut}}) // "VALIDÉE", "EN COURS", etc.MINUSCULE(texte)
Convertit tout le texte en lettres minuscules.
MINUSCULE("BONJOUR") // "bonjour"
MINUSCULE("Hello World") // "hello world"
MINUSCULE({{client.email}}) // Email normalisé
// Créer un identifiant en minuscules
MINUSCULE({{produit.reference}})Assemblage
CONCAT(arg1, arg2, ...)
Assemble plusieurs éléments (textes, nombres, dates) en une seule chaîne. C'est la fonction de texte la plus utilisée.
// Assembler du texte
CONCAT("Bonjour ", "Constance") // "Bonjour Constance"
// Mélanger texte et nombres
CONCAT("Total : ", 150.50, " €") // "Total : 150.50 €"
// Créer une adresse complète
CONCAT(
{{client.adresse}}, "
",
{{client.codePostal}}, " ", {{client.ville}}
)
// Créer un libellé personnalisé
CONCAT(
"Commande n°", {{commande.numero}},
" - ", {{client.nom}},
" (", DDMMYYYY({{commande.date}}), ")"
)Astuce : Vous pouvez passer autant d'arguments que vous voulez à CONCAT. Tous seront assemblés dans l'ordre.
JOINDRE(tableau, séparateur)
Joint les éléments d'un tableau avec un séparateur entre chaque élément.
JOINDRE(["a", "b", "c"], ", ") // "a, b, c"
JOINDRE(["Paris", "Lyon", "Marseille"], " - ") // "Paris - Lyon - Marseille"
// Lister les produits d'une commande
JOINDRE({{commande.produits.nom}}, ", ") // "Produit A, Produit B, Produit C"
// Créer une liste avec points
JOINDRE({{tache.etapes}}, " • ") // "Étape 1 • Étape 2 • Étape 3"Extraction
COUPER(texte, longueur, depuis?)
Extrait une portion d'une chaîne de caractères. Le premier paramètre est le texte, le deuxième le nombre de caractères à extraire, et le troisième (optionnel) la position de départ.
// Extraire les 3 premiers caractères
COUPER("Bonjour", 3) // "Bon"
// Extraire 4 caractères depuis la position 3
COUPER("Bonjour", 4, 3) // "jour"
// Extraire le premier caractère
COUPER({{client.prenom}}, 1) // "C" pour "Constance"
// Limiter la longueur d'un nom
SI COMPTER({{client.nom}}) > 20
ALORS CONCAT(COUPER({{client.nom}}, 17), "...")
SINON {{client.nom}}
FINSIAttention : Les positions commencent à 0, pas à 1. Dans "Bonjour", le "B" est à la position 0, le "o" à la position 1, etc.
Accès par index [n]
Vous pouvez aussi accéder à un caractère spécifique avec la notation par index.
"Bonjour"[0] // "B"
"Bonjour"[3] // "j"
{{client.prenom}}[0] // Première lettre du prénomUtilitaires
NATIONALITE(codePays)
Retourne la nationalité correspondant à un code pays ISO.
NATIONALITE("FR") // "Français"
NATIONALITE("DE") // "Allemand"
NATIONALITE("US") // "Américain"
NATIONALITE({{employe.paysNaissance}}) // Nationalité de l'employéCOMPTER(texte)
Retourne le nombre de caractères dans une chaîne.
COMPTER("Bonjour") // 7
COMPTER("") // 0
COMPTER({{client.telephone}}) // Nombre de chiffres
// Valider la longueur d'un champ
SI COMPTER({{client.siret}}) != 14
ALORS "SIRET invalide"
SINON "SIRET valide"
FINSIExemples pratiques
Créer des initiales
var prenom = {{client.prenom}};
var nom = {{client.nom}};
CONCAT(COUPER(prenom, 1), COUPER(nom, 1))
// Résultat: "MD" pour "Constance Dupont"Formater un numéro de téléphone
var tel = {{client.telephone}};
CONCAT(
COUPER(tel, 2), " ",
COUPER(tel, 2, 2), " ",
COUPER(tel, 2, 4), " ",
COUPER(tel, 2, 6), " ",
COUPER(tel, 2, 8)
)
// "0612345678" → "06 12 34 56 78"Générer un nom de fichier normalisé
var client = MINUSCULE({{client.nom}});
var date = DDMMYYYY(AUJOURDHUI());
var numero = REMPLIR.ZEROS({{facture.numero}}, 5);
CONCAT("facture_", client, "_", numero, "_", date, ".pdf")
// Résultat: "facture_dupont_00042_19012026.pdf"Créer une salutation personnalisée
var civilite = {{client.civilite}};
var nom = MAJUSCULE({{client.nom}});
SI civilite == "M"
ALORS CONCAT("Cher Monsieur ", nom)
SINON SI civilite == "Mme"
ALORS CONCAT("Chère Madame ", nom)
SINON CONCAT("Cher(e) ", nom)
FINSI
// Résultat: "Chère Madame DUPONT"Afficher une adresse complète
var lignes = [
MAJUSCULE(CONCAT({{client.prenom}}, " ", {{client.nom}})),
{{client.adresse}},
SI EXISTE({{client.adresse2}}) ALORS {{client.adresse2}} SINON "" FINSI,
CONCAT({{client.codePostal}}, " ", MAJUSCULE({{client.ville}})),
MAJUSCULE({{client.pays}})
];
var lignesNonVides = FILTRER(lignes, {{$}} != "");
JOINDRE(lignesNonVides, "
")
// Résultat:
// MARIE DUPONT
// 123 rue de la Paix
// 75001 PARIS
// FRANCETronquer un texte avec ellipse
var description = {{produit.description}};
var longueurMax = 100;
SI COMPTER(description) > longueurMax
ALORS CONCAT(COUPER(description, longueurMax - 3), "...")
SINON description
FINSI
// "Ce produit est vraiment..." (tronqué à 100 caractères)Prochaine étape
Découvrez maintenant les fonctions booléennes pour tester des conditions et vérifier l'état de vos données.