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

Publié le 26 octobre 2017
par Francis Larin

MESSAGE: L’article ci-dessous a été rédigé par un invité du CFO masqué et consiste à présenter comment afficher plusieurs feuilles en même temps avec le VBA dans Excel.


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.

afficher des feuilles en VBA

 

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 :

afficher des feuilles en VBA

 

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.

afficher des feuilles en VBA

 

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 » ).

afficher des feuilles en VBA

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 pour afficher des feuilles en VBA, 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 :


CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

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 *

Retour en haut