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.
Guide Productivite

