Monsieur Excel
Pour tout savoir faire sur Excel !

07 mai 2008

Nom de fichier : une autre solution

Nous l’avons souvent déclaré : dans Excel – comme d’ailleurs avec toute modélisation – il y a souvent plusieurs façons d’atteindre un objectif fixé.

Il y a quatre jours, nous vous avons présenté une formule de validation de données qui servait à vérifier que – pour un nom de classeur – aucun caractère interdit n’était utilisé.

Voici deux autres formules de validation que vous auriez aussi pu utiliser…

Avec la fonction EstErreur()…

La solution suivante est plus simple à imaginer et plus compréhensible que la solution proposée il y a quatre jours, mais elle est plus lourde avec 257 caractères au lieu des 77 caractères de notre solution originale :

=et(esterreur(trouve("/";$B$1));esterreur(trouve("\";$B$1));esterreur(trouve(":";
$B$1));esterreur(trouve("*";$B$1));esterreur(trouve("?";$B$1));esterreur(trouve(
"";$B$1));esterreur(trouve("<";$B$1));esterreur(trouve(">";$B$1));esterreur(
trouve("""";$B$1)))


Avec la fonction SommeProd()…

En revanche, voici une solution qui non seulement se révèle presque aussi compacte (80 caractères) que notre solution initiale mais aussi utilise le SommeProd() avec « -- » que nous avions découvert dans le message du 27 mars 2008 :

=sommeprod(--(non(esterreur(trouve(stxt("\:/*?<>""";ligne($1:$9);1);$B$1)))))=0

Cette formule renvoie VRAI quand le nombre total de fois où l’on a trouvé un des caractères interdits est nul.

Remarque – Un avantage notable de cette dernière solution est qu’il n’est plus nécessaire d’indiquer dans la formule le nombre de caractères autorisé pour le nom du classeur : le seul paramètre à régler est le nombre (ici, 9) des caractères prohibés.