📅 Mis à jour le 7 avril 2026

Notion Formules 2.0 : Le Guide Complet des Fonctions Avancées

Avec la sortie de Formulas 2.0 en 2023, Notion a complètement réécrit son moteur de formules. Fini les syntaxes alambiquées de l’ancienne version — les nouvelles formules sont plus puissantes, plus lisibles, et plus proches d’un vrai langage de programmation. Si vous avez hésité à vous lancer dans les formules Notion par peur de la complexité, c’est le moment de vous y mettre.

Qu’est-ce qu’une Formule Notion ?

Une formule Notion est une propriété calculée automatiquement à partir d’autres propriétés de la même base de données (ou de bases liées via rollup). Elle retourne un texte, un nombre, une date, un booléen, ou même une liste.

Pensez-y comme une cellule Excel : vous définissez la formule une fois, et Notion calcule le résultat pour chaque entrée de votre base.

⚡ Les meilleurs outils de productivité en 2026

Découvrez notre sélection des outils qui vont transformer votre organisation : Notion, Todoist, Obsidian et plus.

Voir le classement 2026 →

La Syntaxe de Base

Accéder aux Propriétés

Dans Formulas 2.0, accédez à n’importe quelle propriété de la ligne avec prop("Nom de la propriété") :

prop("Prénom") + " " + prop("Nom")
// Résultat : "Jean Dupont"

Notez les guillemets doubles autour du nom de la propriété — c’est obligatoire.

Types de Données

Chaque valeur en Notion a un type :

  • String (texte) : entre guillemets "bonjour"
  • Number (nombre) : 42, 3.14
  • Boolean (vrai/faux) : true, false
  • Date : retourné par des fonctions comme now() ou prop("Date")
  • List : liste de valeurs (nouveau dans Formulas 2.0)

Fonctions Indispensables

Fonctions Texte

concat() — Concatène des chaînes :

concat(prop("Prénom"), " ", prop("Nom"))

length() — Compte les caractères :

length(prop("Titre"))
// Utile pour vérifier qu'un titre n'est pas trop long

contains() — Vérifie si un texte contient une sous-chaîne :

contains(prop("Email"), "@gmail.com")
// Retourne true si l'email est un Gmail

slice() — Extrait une partie d’un texte :

slice(prop("Titre"), 0, 50)
// Les 50 premiers caractères

upper() / lower() — Met en majuscules/minuscules :

upper(prop("Code projet"))
// "WEB-042" → "WEB-042" (déjà en maj)

replaceAll() — Remplace toutes les occurrences :

replaceAll(prop("Titre"), " ", "-")
// "Mon Titre" → "Mon-Titre" (pour créer des slugs)

Fonctions Numériques

round() / floor() / ceil() — Arrondi :

round(prop("Taux TVA") * prop("Prix HT"), 2)
// Calcule la TVA arrondie à 2 décimales

max() / min() — Maximum/minimum de plusieurs valeurs :

max(prop("Note 1"), prop("Note 2"), prop("Note 3"))

abs() — Valeur absolue :

abs(prop("Budget") - prop("Dépenses"))
// Écart absolu entre budget et dépenses

Fonctions Logiques

if() — Condition simple :

if(prop("Note") >= 10, "Admis", "Recalé")

and() / or() / not() — Opérateurs logiques :

if(and(prop("Budget") > 0, prop("Statut") == "Actif"), "Valide", "Invalide")

ifs() — Conditions multiples (switch) :

ifs(
  prop("Note") >= 16, "Très bien",
  prop("Note") >= 14, "Bien",
  prop("Note") >= 12, "Assez bien",
  prop("Note") >= 10, "Passable",
  "Insuffisant"
)

Fonctions Date

now() — La date et heure actuelles :

now()

dateAdd() — Ajouter du temps à une date :

dateAdd(prop("Date création"), 30, "days")
// La date 30 jours après la création

dateSubtract() — Soustraire du temps :

dateSubtract(now(), 7, "days")
// Il y a une semaine

dateBetween() — Différence entre deux dates :

dateBetween(prop("Date fin"), prop("Date début"), "days")
// Nombre de jours entre début et fin

formatDate() — Formater une date :

formatDate(prop("Date"), "DD/MM/YYYY")
// "2025-03-15" → "15/03/2025"

year() / month() / day() — Extraire des composants :

year(now())
// Retourne 2025

Exemples Pratiques

Calculer des Deadlines

// Jours restants avant la deadline
dateBetween(prop("Date limite"), now(), "days")

// Statut deadline avec couleur
if(
  dateBetween(prop("Date limite"), now(), "days") < 0, "⚠️ En retard",
  dateBetween(prop("Date limite"), now(), "days") <= 3, "🔴 Urgent",
  dateBetween(prop("Date limite"), now(), "days") <= 7, "🟡 Bientôt",
  "🟢 OK"
)

Calculer une Commission

// Commission avec paliers
if(
  prop("CA mensuel") >= 50000, prop("CA mensuel") * 0.05,
  prop("CA mensuel") >= 20000, prop("CA mensuel") * 0.03,
  prop("CA mensuel") * 0.02
)

Score de Priorité Composite

// Score = (Impact × 3) + (Urgence × 2) + Faisabilité
(prop("Impact") * 3) + (prop("Urgence") * 2) + prop("Faisabilité")

Générer des Slugs URL

lower(replaceAll(replaceAll(prop("Titre"), " ", "-"), "'", "-"))
// "L'outil parfait" → "l-outil-parfait"

Les Nouveautés de Formulas 2.0

Variables Locales avec let

let(ht, prop("Prix HT"),
  let(tva, ht * 0.2,
    concat(
      "HT: ", format(ht), "€",
      " | TVA: ", format(tva), "€",
      " | TTC: ", format(ht + tva), "€"
    )
  )
)

Les variables rendent les formules complexes beaucoup plus lisibles.

Manipuler des Listes

// Compter les éléments d'un multi-select
length(prop("Tags"))

// Vérifier si un tag spécifique est présent
includes(prop("Tags"), "Urgent")

// Mapper une liste
map(prop("Notes"), current > 10)
// Retourne une liste de booléens

map(), filter(), reduce()

Nouvelles fonctions inspirées de la programmation fonctionnelle :

// Somme des notes de quizz
reduce(prop("Notes"), 0, (acc, current) => acc + current)

// Filtrer les items urgents
filter(prop("Priorités"), current == "Urgent")

Pièges Classiques à Éviter

Types incompatibles : Vous ne pouvez pas additionner un texte et un nombre sans conversion. Utilisez toNumber() ou format() pour convertir.

Propriétés vides : Si une propriété peut être vide, protégez-vous : if(empty(prop("Date")), "Non défini", formatDate(prop("Date"), "DD/MM")).

Performances : Les formules complexes sur des grandes bases de données peuvent ralentir Notion. Évitez les formules qui accèdent à des rollups très lourds.

Conclusion

Les formules Notion 2.0 ont considérablement réduit l’écart avec des outils comme Airtable ou Excel. Avec ifs(), let(), map() et les fonctions de liste, vous pouvez construire des logiques métier sophistiquées directement dans votre base de données. Commencez par les cas simples (calcul de délai, statut conditionnel) et progressez vers les formules composées.

Maxime Berger
A propos de l'auteur

Maxime Berger

Coach en productivite et specialiste Notion

Maxime Berger est coach en productivite et consultant Notion certifie depuis 7 ans. Ancien Product Manager chez Alan, il a forme plus de 500 professionnels aux methodes de travail efficaces. Il partage templates et strategies sur guide-productivite.com.

400 articles publiésVoir le profil →
Maxime Berger

Maxime Berger

Coach productivite, specialiste Notion

Passione de productivite depuis 7 ans. Je teste chaque outil en conditions reelles pour trouver les meilleurs.

Plus de 400 articles