Erreurs courantes avec les formules

Dans ce document d’aide

Découvrez les erreurs courantes que vous pourriez rencontrer avec les formules dans Notion, et comment vous pouvez les résoudre. 🔨


Si vous ne savez pas comment résoudre les erreurs de votre formule, l’IA de Notion peut vous aider. En savoir plus ici →

Si vous n’avez pas accès à une base de données référencée, les formules ne pourront pas effectuer de calculs de manière fiable. En effet, les formules nécessitent un accès à la base de données source et aux configurations de ses propriétés.

Comment résoudre le problème

Assurez-vous d’avoir accès à toutes les pages et bases de données référencées dans la formule de votre bouton ou automatisation de base de données.

Contrairement aux propriétés de formule dans les bases de données, les formules dans les automatisations attendent un type de retour spécifique (ex. : date, texte, nombre, personne). Sinon, l’automatisation ne pourra pas être enregistrée ni exécutée correctement.

Comment résoudre le problème

Assurez-vous que la formule renvoie le type de valeur correct. Par exemple, si vous écrivez une formule pour définir la valeur d’une propriété Personne d’une page, la formule doit renvoyer un utilisateur ou une liste d’utilisateurs, et non une date. Par ailleurs, si vous évaluez une condition spécifique sur une propriété de type tableau (ex. : sélection multiple), assurez-vous d’utiliser .includes au lieu de == dans votre instruction if().

Une cause fréquente de cette erreur est l’utilisation d’un type différent pour représenter une valeur vide. Par exemple, dans une formule telle que if(Date, Date.dateAdd(1, “day”), “”), le type de retour est inconnu car il pourrait s’agir d’une date ou d’un texte (en raison de “”). Cela peut être corrigé en utilisant empty() pour représenter les valeurs vides ; la formule corrigée ressemblerait donc à if(Date, Date.dateAdd(1, “day”), empty()).

Les formules Notion ne peuvent être imbriquées que sur 15 niveaux. Chaque fois qu’une formule fait référence à une autre formule ou à une agrégation, elle ajoute un niveau. Cela s’applique même si la formule se trouve dans une base de données différente.

Lorsque cette limite est atteinte, Notion affiche un message d’erreur.

Comment résoudre le problème

Simplifiez votre configuration en combinant les formules et les agrégations inutiles dans un nombre réduit de propriétés. Identifiez les endroits où plusieurs formules effectuent des tâches similaires et essayez de les fusionner en une seule.

Si des variables personnalisées sont définies dans la même action d’automatisation, elles ne peuvent pas se référencer les unes les autres.

Par exemple, si vous définissez var1 et var2 dans la même action, var2 ne pourra pas utiliser var1 dans sa définition.

Comment résoudre le problème

Définissez chaque variable dans sa propre action distincte. Pour ce faire, créez la première variable, ajoutez une nouvelle action à votre automatisation et définissez la variable suivante séparément. Cela garantit que chaque variable est correctement reconnue.

À ce jour, les variables définies dans une automatisation ne peuvent pas être utilisées pour filtrer les pages dans les bases de données sur lesquelles vous souhaitez que l’automatisation agisse (par exemple : « Modifier les pages correspondant au filtre contenant la variable »).

Comment résoudre le problème

  1. Définissez une variable personnalisée comme Cette page en tapant Page de déclenchement dans la zone de formule.

  2. Ajoutez une action Modifier une page et sélectionnez la variable personnalisée de l’étape 1 comme cible.

Lorsque vous travaillez avec des propriétés de relation, d’agrégation et de Personne dans des formules, celles-ci renvoient une liste de pages ou de personnes. Pour référencer des propriétés au sein de la relation, vous devez définir le premier élément, sinon votre Automatisation interrompra. Vous pourriez également rencontrer ce problème lors de la création d’une formule utilisant la fonction map pour une propriété de relation.

Comment résoudre le problème

Utilisez des fonctions comme .first() ou .at(0) pour obtenir le premier élément, ou parcourir la liste des pages avec des fonctions comme .map(), .filter(), .every(), .some() et .find().

Si une formule rencontre de manière inattendue une valeur vide (le plus souvent une valeur de date ou de personne), l’automatisation recevra une erreur et se mettra automatiquement en pause.

Comment résoudre le problème

Utilisez if ou ifs pour vérifier qu’une propriété sur laquelle vous effectuez une opération possède une valeur. Par exemple, au lieu de Date.dateAdd(1, “day”), il est préférable d’utiliser if(Date, Date.dateAdd(1, “day”), empty()). Cela garantit que dateAdd n’est effectué que lorsque la valeur de Date est présente, et indique explicitement à l’Automatisation d’effacer la propriété mise à jour lorsque Date n’est pas renseignée. Sinon, configurez une vue avec un filtre qui garantit l’existence de la valeur de la propriété sur laquelle vous travaillez, et configurez l’Automatisation pour qu’elle ne s’exécute que sur les pages de cette vue.

Si votre formule ne fonctionne pas comme prévu, cela peut être dû à une erreur de syntaxe telle que des parenthèses manquantes, des opérateurs incorrects ou des fonctions non prises en charge. Pour une présentation complète de la syntaxe de la formule, lisez cet article →


Donner votre avis

Cette ressource vous a-t-elle été utile ?


Powered by Fruition