Bonjour,
Je n'ai pas trouvé de post répondant à mon problème, que voici:
J'ai construit un classeur Excel qui permet, de manière automatisée via un bouton de commande et une macro VBA associée, de sauvegarder le classeur sur mon réseau en le nommant en fonction d'un numéro de série construit grâce aux renseignement de plusieurs cases (Date, Site, Etc.) suivi d'un titre succinct.
J'ai mis en place une validation de donnée sur cette case Titre pour interdire la saisie des caractères interdits par Windows (?.:\/<>"'*).
J'ai donc opté pour une validation de type personnalisée avec la formule suivante:
=ET(NBCAR(F3)<=25;ESTERREUR(TROUVE(".";F3));ESTERREUR(TROUVE("/";F3));ESTERREUR(TROUVE("?";F3));ESTERREUR(TROUVE(">";F3));ESTERREUR(TROUVE("<";F3));ESTERREUR(TROUVE(":";F3));ESTERREUR(TROUVE("""";F3));ESTERREUR(TROUVE(CAR(42);F3)))
ça fonctionne au poil, mais vous aurez remarqué que tous les caractères interdits n'y figurent pas. En fait, je suis bloqué car Excel limite la longueur en caractère de la formule, et je ne peux plus ajouter de bloc ESTERREUR(TROUVE(...)) supplémentaire...
Quelqu'un aurait il une alternative ou alors une formulation plus compacte?
Sous Excel 2007, Windows XP.
Je n'ai pas trouvé de post répondant à mon problème, que voici:
J'ai construit un classeur Excel qui permet, de manière automatisée via un bouton de commande et une macro VBA associée, de sauvegarder le classeur sur mon réseau en le nommant en fonction d'un numéro de série construit grâce aux renseignement de plusieurs cases (Date, Site, Etc.) suivi d'un titre succinct.
J'ai mis en place une validation de donnée sur cette case Titre pour interdire la saisie des caractères interdits par Windows (?.:\/<>"'*).
J'ai donc opté pour une validation de type personnalisée avec la formule suivante:
=ET(NBCAR(F3)<=25;ESTERREUR(TROUVE(".";F3));ESTERREUR(TROUVE("/";F3));ESTERREUR(TROUVE("?";F3));ESTERREUR(TROUVE(">";F3));ESTERREUR(TROUVE("<";F3));ESTERREUR(TROUVE(":";F3));ESTERREUR(TROUVE("""";F3));ESTERREUR(TROUVE(CAR(42);F3)))
ça fonctionne au poil, mais vous aurez remarqué que tous les caractères interdits n'y figurent pas. En fait, je suis bloqué car Excel limite la longueur en caractère de la formule, et je ne peux plus ajouter de bloc ESTERREUR(TROUVE(...)) supplémentaire...
Quelqu'un aurait il une alternative ou alors une formulation plus compacte?
Sous Excel 2007, Windows XP.
Dernière édition: