Bonjour
STXT(Feuil1!$A1;1;1) renvoie un caractère, par exemple a, _, 1 au format texte. Donc ESTNUM(STXT(Feuil1!$A1;1;1)) renverra toujours FAUX, et cela ne nous convient pas.
Cette partie de la formule, ESTNUM(--STXT(Feuil1!$A1;1;1)), sert à savoir si le premier caractère est un nombre, et pas une lettre ou un underscore. Par exemple, on a ESTNUM(--a) qui renvoie FAUX car a n'est pas un chiffre. Si le premier caractère est un chiffre au format texte, le fait de mettre -- devant le transforme en chiffre au format nombre. Par ex ESTNUM(--5)=ESTNUM(5)=VRAI. Donc, on a l'information désirée, FAUX avec les lettres, et VRAI seulement avec les chiffres.
Ici, on pourrait faire avec un seul moins, avec ESTNUM(-STXT(Feuil1!$A1;1;1)), car, pour nous, dans ce cas, peu importe que ce nombre soit positif ou négatif. J'ai mis deux moins, un peu, par "réflexe".
@ plus
P.S : La formule que je t'ai proposée fonctionne comme cela :
Le premier caractère est-il un underscore ? --> si oui, VRAI, si non FAUX
+ Le premier caractère est-il un chiffre ? --> si oui, VRAI, si non, FAUX
+ Les caractères sont-ils autre chose que des lettres en majuscules ou des minuscules ? --> Somme de VRAI et de FAUX
- Les caractères sont-ils un underscore --> soustraction de VRAI et FAUX
- Les caractères sont-ils des chiffres --> soustraction de VRAI et de FAUX
Si l'ensemble donne 0, c'est que la règle proposée est respecté. Si il donne autre chose, c'est qu'elle n'est pas respectée.
Pour voir comment cela fonctionne , Menu "Formules", puis "Évaluation de formule".
@ plus