J'essaie d'utiliser une expression rationnelle dans la validation des données Google Sheets afin d'interdire la saisie de caractères spéciaux. Mon ensemble autorisé doit donc être [a-zA-Z0-9,./()]
.
J'utilise l'entrée de formule personnalisée avec la =REGEXMATCH(TO_TEXT(range),"^[^a-zA-Z0-9,./()]")
suivante, mais elle rejette maintenant tout, y compris ce qui est dans mon ensemble autorisé.
J'ai également essayé les variantes suivantes et les résultats sont les mêmes que ci-dessus, tout est rejeté:
=REGEXMATCH(TO_TEXT(range),"^[a-zA-Z0-9,./()]")
=REGEXMATCH(TO_TEXT(range),"[a-zA-Z0-9,./()]")
=REGEXMATCH(TO_TEXT(range),"[^a-zA-Z0-9,./()]")
=REGEXMATCH("[a-zA-Z0-9,./()]")
=REGEXMATCH("[^a-zA-Z0-9,./()]")
=REGEXMATCH("^[a-zA-Z0-9,./()]")
=REGEXMATCH("^[^a-zA-Z0-9,./()]")
Je suis perdu, je ne suis pas habitué à travailler avec Regex et j'apprécierais vraiment de l'aide.
L'expression régulière doit être ^[a-zA-Z0-9,./()]*$
, où $ à la fin signifie la fin de la chaîne. Cela force le contenu entier à se composer des caractères spécifiés.
En outre, vous ne passez normalement pas une plage dans les formules de validation des données: il doit s'agir de la référence au coin supérieur gauche de la plage. Par exemple, si votre plage est A2: E20, la formule de validation des données doit être
=REGEXMATCH(TO_TEXT(A2), "^[a-zA-Z0-9,./()]*$")
Cette formule sera ensuite interprétée pour les autres cellules en fonction de la façon dont les références relatives sont traitées. C'est le même comportement qu'avec la mise en forme conditionnelle.