Re : Regrouper la saisie de plusieurs inputbox
Bonjour Brigitte, le forum
,
Pour un premier essai en VBA, c'est pas mal. Bienvenue au club
.
Tu m'as même appris quelque chose, je ne savais pas qu'on pouvait modifier la couleur d'un onglet
.
J'ai apporté quelques améliorations (bénines) à ton fichier :
1) Dans tes InputBox, pour aller à la ligne dans le texte affiché, il suffit de concétaner avec un vbCrLf.
2) Pour améliorer la lecture du code en évitant les lignes à ralonge, il suffit de mettre un blanc et un underscore " _" avant de passer à la ligne, tout en mettant un retrait en dessous pour montrer que c'est la suite de la ligne du dessus. Attention, tu doit couper entre 2 instructions.
3) Ce n'est pas la peine de passer par des variables (Mot1 à 4), tu peux directement remplir tes cellules avec ton InputBox.
4) Il est toujours plus prudent de mettre la feuille concernée avant l'adresse des cellules, tu aura toujours un zigue qui lancera ta macro depuis une autre feuille, et là, bonjours les dégats...
5) J'ai mis un test en concaténant les 4 cellules mots clés, car si rien n'était saisi, tout disparaissais...
6) J'ai déplacé toutes tes macros qui étaient dans le code de la feuille dans un module (que j'ai nommé Filtrage pour la lisibilité). Je pense que c'est pour cela que tu n'arrivais pas à appeler ta macro. Il aurait fallu mettre son adresse en plus, type Call Sheets("1989 à nos jours").FILTRE.
7) J'ai renommé ton USF FiltreMultiple, toujours pour la lisibilité.
8) J'ai renommé ton bouton Valider, ce qui fait que la macro associée est Private Sub Validez_Click() (pour l'obtenir, j'ai juste double cliqué sur le bouton).
9) J'ai changé .Hide, qui se contente de masquer l'USF, par Unload. "Me" permet de faire référence à l'USF en local.
10) Dans la Sub TOUT, tu utilises un "On Error Resume Next" pour éviter les erreurs avec ShowAllData, j'ai donc rajouté derrière "On Error GoTo 0" qui rétablit le contrôle d'erreur.
Bises et bonne journée