📅 Mis à jour le 7 avril 2026

Notion Formules Avancées : 15 Formulas qui Transforment Vos Databases

Notion a lancé les Formulas 2.0 en 2023 — une évolution majeure qui a rapproché Notion de la puissance de Google Sheets. Si vous utilisez encore des formules basiques, vous passez à côté de la moitié de la puissance de Notion. Ce guide vous montre les notion formules avancées les plus utiles avec des exemples concrets.

Les Bases des Formulas 2.0 Notion

Avant les formules avancées, rappelons les fondamentaux de Formulas 2.0 :

Accès aux propriétés :

⚡ 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 →
prop("Nom de la propriété")

Types de données :

  • Text (chaînes)
  • Number (nombres)
  • Boolean (true/false)
  • Date (dates)
  • Array (listes) — nouveau en 2.0

Différence majeure 2.0 vs 1.0 : les formules 2.0 supportent les variables (let/lets), les arrays, les opérations sur collections — beaucoup plus puissant.

Les 15 Notion Formules Avancées les Plus Utiles

1. Afficher le Nombre de Jours Restants

let(jours, dateBetween(prop("Deadline"), now(), "days"),
  if(jours < 0, "🔴 " + format(-jours) + "j de retard",
  if(jours == 0, "🟡 Aujourd'hui !",
  if(jours <= 3, "🟠 " + format(jours) + "j restants",
  "🟢 " + format(jours) + "j restants"))))

Résultat : « 🟢 12j restants » ou « 🔴 3j de retard »

2. Calculer un Pourcentage de Progression

if(prop("Objectif") == 0, 0,
  round((prop("Actuel") / prop("Objectif")) * 100))

Variante avec affichage visuel :

let(pct, round((prop("Actuel") / prop("Objectif")) * 100),
  format(pct) + "% " +
  if(pct >= 100, "🏆",
  if(pct >= 75, "🟢",
  if(pct >= 50, "🟡",
  if(pct >= 25, "🟠", "🔴")))))

3. Concaténer Plusieurs Propriétés en Titre

"[" + prop("Numéro") + "] " + prop("Nom client") + " — " + prop("Type")

Exemple de résultat : « [FAC-042] Marie Martin — Consulting »

4. Calculer l’Âge d’une Entrée en Jours

dateBetween(now(), prop("Date création"), "days")

Utile pour identifier les entrées « stale » dans un CRM ou backlog.

5. Trimestre depuis une Date

"Q" + format(ceil(month(prop("Date")) / 3)) + " " + format(year(prop("Date")))

Résultat : « Q2 2025 »

6. Première Lettre en Majuscule

upper(slice(prop("Texte"), 0, 1)) + slice(prop("Texte"), 1)

7. Extraire le Domaine d’une URL Email

slice(prop("Email"), index(prop("Email"), "@") + 1)

Résultat : pour « marie@exemple.com » → « exemple.com »

8. Barre de Progression Visuelle

lets(
  pct, min(100, round((prop("Actuel") / prop("Objectif")) * 10)),
  filled, "█",
  empty, "░",
  slice(repeat(filled, pct) + repeat(empty, 10 - pct), 0, 10) + " " + format(min(100, round((prop("Actuel") / prop("Objectif")) * 100))) + "%"
)

Résultat : « ████████░░ 80% »

9. Formule IF avec Plusieurs Conditions

if(prop("Priorité") == "P0" and prop("Statut") == "Bloqué",
  "🚨 CRITIQUE BLOQUÉ",
if(prop("Priorité") == "P0",
  "🔴 Critique",
if(prop("Priorité") == "P1" and prop("Assigné").length() == 0,
  "⚠️ P1 Non assigné",
  "✅ Normal")))

10. Calculer des Jours Ouvrés (sans weekends)

lets(
  debut, prop("Date début"),
  fin, prop("Date fin"),
  jours_total, dateBetween(fin, debut, "days"),
  semaines, floor(jours_total / 7),
  reste, jours_total - semaines * 7,
  jour_debut, day(debut),
  semaines * 5 + min(reste, 5 - max(0, jour_debut + reste - 5))
)

11. Label Score OKR

lets(
  score, min(1, prop("Actuel") / prop("Cible")),
  if(score >= 0.7, "🟢 On track (" + format(round(score * 100)) + "%)",
  if(score >= 0.4, "🟡 At risk (" + format(round(score * 100)) + "%)",
  "🔴 Off track (" + format(round(score * 100)) + "%)" ))
)

12. Formater un Nombre en Monnaie

format(round(prop("Montant") * 100) / 100) + " €"

Variante avec séparateur milliers (astuce) :

lets(
  n, round(prop("Montant")),
  if(n >= 1000,
    format(floor(n/1000)) + " " + format(n - floor(n/1000) * 1000) + " €",
    format(n) + " €")
)

13. Vérifier si une Date est dans le Passé

if(prop("Date échéance") < now(), "Dépassée", "À venir")

14. Compter les Jours dans le Mois Courant

dateBetween(
  dateAdd(dateStart(month(now())), 1, "months"),
  dateStart(month(now())),
  "days"
)

15. Générer une Référence Unique Auto-Incrémentée

Notion n’a pas d’auto-increment natif, mais cette formule crée une référence depuis la date de création :

format(year(prop("Date création"))) +
"-" +
if(month(prop("Date création")) < 10, "0", "") + format(month(prop("Date création"))) +
"-" +
if(date(prop("Date création")) < 10, "0", "") + format(date(prop("Date création"))) +
"-" +
format(toNumber(formatDate(prop("Date création"), "HHmmss")))

Erreurs Courantes avec les Notion Formules Avancées

Erreur 1 : Oublier les guillemets pour les Select

// ❌
if(prop("Statut") == Terminé, ...)
// ✅
if(prop("Statut") == "Terminé", ...)

Erreur 2 : Division par zéro

// ❌ (crash si Objectif = 0)
prop("Actuel") / prop("Objectif")
// ✅
if(prop("Objectif") == 0, 0, prop("Actuel") / prop("Objectif"))

Erreur 3 : Mélanger types dans une condition
Assurez-vous que les deux membres d’une comparaison sont du même type.

FAQ — Notion Formules Avancées

Q : Comment déboguer une formule Notion qui ne fonctionne pas ?

R : Simplifiez progressivement. Commencez par le cœur de la formule et ajoutez les conditions une par une. Si une formule retourne « Invalid formula », regardez les guillemets manquants, les parenthèses non fermées ou les noms de propriétés avec des caractères spéciaux (les espaces dans les noms de propriétés doivent correspondre exactement).

Q : Les formules Notion 2.0 peuvent-elles accéder aux propriétés des bases de données liées ?

R : Non directement. Les formules Notion accèdent aux propriétés de la même database. Pour les données de databases liées, utilisez les Rollups. Vous pouvez ensuite utiliser la valeur du Rollup dans une formule.

Q : Y a-t-il une limite de complexité pour les formules Notion ?

R : Pas de limite officielle documentée, mais les formules très longues et imbriquées peuvent ralentir les databases avec beaucoup d’entrées. Si une database est lente, vérifiez si une formule complexe n’en est pas la cause.

Q : Les formules Notion fonctionnent-elles dans les templates ?

R : Oui. Une formule définie dans la structure de la database s’applique automatiquement à toutes les entrées, y compris celles créées depuis un template.

Q : Peut-on utiliser des fonctions trigonométriques ou logarithmiques dans Notion ?

R : Non. Les fonctions mathématiques de Notion sont limitées : floor, ceil, round, sqrt, abs, cbrt, exp, ln. Pas de sin/cos/tan natifs. Pour des calculs scientifiques complexes, exportez les données vers Google Sheets ou utilisez une automatisation Make.

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