Macro pour masquer/afficher des lignes en fonction d'une liste déroulante

Bonjour,

je cherche à faire une macro qui me permette de masquer ou afficher des lignes. Le but est de pouvoir cacher une base de données dans un fichier afin que l'utilisateur n'en ait pas accès.

Je vous joint un fichier test pour faciliter la compréhension de mon problème :

J'ai une liste déroulante en F21 de la feuille "Plan d'Entraînement" qui contient les mots "Hide" et "Show". Ce que je souhaite avoir c'est que lorsque je sélectionne "Hide" , la macro masque les lignes 10:50 de la feuille "Calculateurs". Dans le cas ou je sélectionne "Show", la macro doit afficher ces mêmes lignes.

Voila, je pense que c'est quelques chose d'assez simple en soit mais je suis mauvais en VBA donc j'espère que quelqu'un voudra bien m'aidé.

Merci d'avance

5test.xlsx (10.18 Ko)

Bonjour

Ci joint ma solution

20masquer.xlsm (15.68 Ko)

A+ François

Votre solution fonctionne mais lorsque j'essaie de l'adapter sur mon vrai fichier la première ligne de votre code semble poser problème

C'est celle ci :

Private Sub Worksheet_Change(ByVal Target As Range)

Avez vous une idée de l'origine du problème ?

Bonjour

La macro doit être sur la feuille et non dans un module

Clic droit sur l'onglet de la feuille concernée

Choisir visualiser le code

la macro doit se trouver sur cette page

A+ François

Re Bonjour,

Merci pour votre réponse

j'avais bien mit la macro dans la feuille concernée (Plan d'entrainement). Il faut savoir que j'ai d'autre macro dans mon vrai fichier, c'est peut être pour ça (il y en a pas mal, le fichier fait plus de 20 MO).

Excel m'affiche ça :

capture d ecran 2022 04 23 193459

Bonjour

Tu as, certainement, déjà une macro du même nom

A+ François

Rechercher des sujets similaires à "macro masquer afficher lignes fonction liste deroulante"