Double Validation de données Excel 2016
Bonjour à tous et veuillez m'excuser si j'ouvre un sujet déjà résolu.
Voici le contexte :
Je souhaite automatiser la fonction " Filtre avancé" que propose Excel, via un peu de VBA.
Etant novice là dedans, j'utilise l'enregistreur de macro pour faciliter l'écriture de la macro. Jusque là tout va bien.
L'utilisation de "Filtre avancé" à ces contraintes, si on cherche à filtrer avec 2 critères il faut penser à sauter une ligne pour créer un "OU" car si l'on reste sur la même ligne les deux critères doivent être respectés ("ET")
Les futurs utilisateurs ne connaissant pas ces contraintes, il se peut qu'ils remplissent les critères à la suite sans sauter de ligne, et le filtre sera inefficace …
De même, dans le cas où une ligne de la plage "critère" est vide, le filtre va se dire " Critère ligne 1 .... Critères ligne 2 ... Ah tient, il n'y a rien, je vais tout mettre alors "
Pour palier à ces deux contraintes je me suis dis que j'allais utiliser la validation des données dans le tableau des critères. Cependant, pour une même cellule, je n'arrive pas à mettre plusieurs validations de données. Ce que j'avais en tête c'était quelque chose comme :
| Objectifs de la validation de donnée | Type de validation | Comment ? | ||||
| 1. Obliger l'utilisateur à remplir un tableau dans l'orde : ligne par ligne SINON le filtre ne marche pas | ARRET | NBVAL("LIGNE AU DESSUS")<>0 | ||||
| 2 . Avertir l'utilisateur si deux caractères sont sur la même ligne | INFORMATION | NBVAL("LIGNE CONCERNEE")<2 | ||||
J'ai crée un fichier exemple pour ne pas avoir de pb de confidentialité.
Je vous mets en PJ un Excel , rien de mieux pour comprendre et tester des solutions ^^
D'avance merci, bonne journée
Hello,
Je ne comprends pas pourquoi tu veux monter une usine à gaz alors que tu pourrais laisser les utilisateurs faire des filtres dans ton tableau source ???
Si c'est la modification potentielle des datas de ton tableau source par les utilisateurs qui te pose problème verrouille ta feuille par mot de passe et laisse les filtres actifs.