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 :

⚡ 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 →

Accès aux propriétés :

prop("Nom de la propriété")

Types de données :

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 « [email protected] » → « 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.

A lire aussi

Comparatif Productivite 2026
Notion, ClickUp et plus
Notre Methodologie
Comment nous evaluons les outils
Tous nos Articles
Guides productivite et organisation
Maxime Berger
By Maxime Berger

Maxime Berger est coach en productivité personnelle, auteur de la newsletter 'Focus Flow' suivie par 12 000 abonnés. Ancien ingénieur reconverti, il applique les méthodes GTD, Zettelkasten et Deep Work à sa propre vie et les enseigne à ses clients. Sur guide-productivite.com, il teste en conditions réelles tous les outils de productivité — Notion, Obsidian, Todoist — pour vous donner son avis honnête.

 ·  Last updated: 7 April 2026