VBA : afficher / masquer plusieurs feuilles en même temps (1 de 3)

Publié le 26 octobre 2017
par Francis Larin

VBA : afficher / masquer plusieurs feuilles en même temps (1 de 3)

MESSAGE: L’article ci-dessous a été rédigé par un invité du CFO masqué.


Après avoir développé un modèle, un tableau de bord ou un simple fichier budgétaire, vous avez probablement dû le présenter. Lors de vos présentations, vous avez probablement désiré masquer certaines feuilles de calculs qui n’étaient pas nécessaires pour la présentation. Lorsqu’il y a peu de feuilles à masquer, ce n’est pas un problème. Par contre, lorsqu’on désire masquer plusieurs feuilles en même temps et les afficher au besoin, cela est plus problématique. Il est donc préférable d’utiliser la programmation VBA afin d’afficher ou de masquer plusieurs feuilles en même temps.

 

En utilisant l’enregistreur (Onglet Développeur / Code / Enregistrer une macro ), on peut découvrir le code VBA nécessaire afin de masquer ou afficher une feuille.

Image 1

 

Prenant l’exemple d’un fichier où il y a 4 feuilles : A, B, C et D. La feuille A étant une feuille sommaire et les feuilles B, C et D des feuilles de calculs. On peut modifier le code afin de lister les feuilles à masquer :

 

On pourrait créer une seconde macro afin d’afficher les feuilles en remplaçant tout simplement « False » par « True ».

 

Par contre, si on désire afficher des feuilles masquées ou masquer des feuilles affichées à l’aide d’une seule macro, on doit programmer une condition. La condition étant l’état des feuilles au départ. Dans cet exemple, j’ai utilisé l’état de la feuille B afin de connaître l’état des feuilles de calculs. Ensuite, selon le résultat, les feuilles de calculs seront masquées ou affichées.

 

En utilisant une seule macro, on peut configurer une seule touche de raccourci et ainsi afficher ou masquer rapidement lorsque c’est nécessaire. Par expérience, si on doit modifier une hypothèse ou valider un calcul lors d’une présentation, il est préférable d’y accéder rapidement. En ayant seulement une macro, c’est une façon de procéder. Voici comment programmer une touche de raccourci : (Onglet Développeur / Code / Macros et ensuite cliquer sur « Options » ).


 
 

Vous souhaitez créer et personnaliser des outils de gestion automatisés dans Excel  pour mieux répondre aux besoins spécifiques de votre entreprise ? Apprenez à les développer et les présenter avec des interfaces conviviales pour les usagers en suivant nos formations en programmation de macros VBA.

 
L’avantage d’utiliser cette approche, c’est que c’est simple à programmer. Aucune variable et aucune itération ne sont utilisées. Par contre, en supprimant une feuille ou en modifiant le nom d’une feuille, la macro ne fonctionnera plus. Si une feuille est ajoutée, celle-ci ne sera pas considérée par le programme VBA.

 

En conclusion, cette méthode peut être utilisée lorsqu’il n’y aura aucune modification de feuilles ou de noms de feuilles et de préférence, lorsqu’il y a peu de feuilles.

 

Ne manquez pas la suite de cet article VBA : afficher / masquer plusieurs feuilles en même temps (2 de 3).

 


Formation complémentaire

Pour une introduction à la programmation avec le langage VBA, qui permet de sauver du temps et de réduire les risques d’erreurs en automatisant certaines tâches et certains processus, afin de développer des solutions robustes dans Excel, suivez la formation Excel – VBA (niveau 1).
 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

 

Josée Drouin
Écrit il y a 1 an
J'ai adoré cette formation!

J'ai suivi un cours universitaire de 45 heures et il y avait encore des trucs qui n'étaient pas clairs pour moi (par exemple, la portée des variables ou l'utilisation d'une fonction dans une procédure). Ils ont été expliqués rapidement et clairement, avec des applications concrètes, j'ai compris! J'ai aussi appris plein de trucs.

Farah Yamanda Khima
Écrit il y a 1 an
Formation très intéressante

Matériel super détaillé et complet Vidéos bien montées

Stephanie Lambert
Écrit il y a 2 ans
J'ai bien aimé.

La formatrice maitrise très bien son contenu et j'ai aimé qu'elle écrive le code au long ou avec des erreurs pour l'optimiser par la suite. Cela aide à la compréhension et illustre le genre de chose qu'un débutera fera. Les documents complémentaires fournissent une belle valeur ajoutée.

Maxime Chapados
Écrit il y a 2 ans
10/10 !

Formation très pratique et pertinente. Cela fait des années que je veux m'initier à la programmation VBA et cette formation a parfaitement répondu à mon besoin. Les exemples sont clairs et bien expliqués. Je recommande cette formation.


CFO-Masque_Formations-en-ligne_FB Le CFO masqué offre un vaste choix de formations en informatique décisionnelle avec Excel et Power BI, via un portail en ligne et à distance en temps réel, selon un calendrier. Si vous désirez organiser des formations privées, faites nous simplement parvenir un courriel à info@lecfomasque.com . Des certificats convenant aux normes de formation continue des divers ordres professionnels du Québec sont offerts pour l'ensemble des formations.  

Découvrez quelles formations vous conviennent

 

1 réflexion sur “VBA : afficher / masquer plusieurs feuilles en même temps (1 de 3)”

  1. Pour améliorer un peu le code et par rapport à cet aspect de changement de nom de la feuille, notons que nous pouvons changer Sheets(“Caption”).visible = xxxx directement par Name.visible = xxxx
    En effet, un onglet a au départ une propriété Caption (le nom de la feuille tel qu’il apparaît) et une propriété “Name” qui demeure “Feuil1” à moins que vous ne la changiez par l’instruction ActiveSheet.name = “nom”. Ainsi, si on utilise Name.visible, on peut changer la caption de la feuille sans affecter la macro.

    Notons aussi qu’on peut changer la propriété “visible” de “true” ou “false” par “XlSheetHidden”, “XlSheetVeryHidden” ou “XlSheetVisible”…XlSheetVeryHidden permettant de masquer une feuille qui ne pourra se réafficher que par du code VBA.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top