Calc, validité, formule personnalisée

Bonjour
Je souhiate créer une validité pour une colonne d’un tableau. Je souhiate une validité “personnalisée” pour controler que la donnée saisie a une forme particulière (exemple 6 caractères alphabétiques + 1 lettre majuscule). La validité prévoit l’option personnalisée selon une formule à saisir. Mais je n’ai trouvé nulle part la façon de syntaxer cette formule.
Merci par avance

Bonjour,

testez la formule ci-dessous :

(NBCAR(E14)=7)*(CODE(DROITE(E14;1))<91)*(CODE(DROITE(E14;1))>64)*(CODE(DROITE(GAUCHE(E14;1);1))>96)*(CODE(DROITE(GAUCHE(E14;1);1))<123)*(CODE(DROITE(GAUCHE(E14;2);1))>96)*(CODE(DROITE(GAUCHE(E14;2);1))<123)*(CODE(DROITE(GAUCHE(E14;3);1))>96)*(CODE(DROITE(GAUCHE(E14;3);1))<123)*(CODE(DROITE(GAUCHE(E14;4);1))>96)*(CODE(DROITE(GAUCHE(E14;4);1))<123)*(CODE(DROITE(GAUCHE(E14;5);1))>96)*(CODE(DROITE(GAUCHE(E14;5);1))<123)*(CODE(DROITE(GAUCHE(E14;6);1))>96)*(CODE(DROITE(GAUCHE(E14;6);1))<123)

qui peut surement être améliorée
:wink:

Merci à dscheikey, sans qui je n’aurais pas pensé à la fonction NB.SI(),
j’avais testé sans succès avec la fonction REGEX()
=NB.SI(E14;"^[:lower:]{6}[:upper:]{1}$")
=NB.SI(E14;"^[a-z]{6}[A-Z]{1}$")

:hugs:

Merci. Je pensais qu’il existait des fonctions fournissant directement le type de caractère : alpha ou num sans passer par la fonction code.
Je vais faire ainsi.

Bonjour, tu peux aussi utiliser regex à l’intérieur de NB.SI().
Exemple d’analyse du texte de la cellule A1.

=NB.SI(A1;"^[a-üA-Ü]{6}[A-Ü]{1}\b")

Avec cette formule, tu obtiens un 1 si ta condition contient 6 lettres (majuscules ou minuscules) et ensuite une majuscule. Tu peux aussi utiliser cette formule dans la validité.
Tu dois autoriser les expressions régulières dans les formules dans les options.

Bonne chance !

1 Like