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

Publié le 29 octobre 2017
par Francis Larin
Code VBA

MESSAGE: L’article ci-dessous a été rédigé par un invité du CFO masqué. Il est la suite de l’article VBA : afficher / masquer plusieurs feuilles en même temps (1 de 3).


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écessaire 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.

 

L’utilisation de la programmation VBA facilite grandement l’affichage ou le masquage des feuilles en question. Après avoir vu une méthode de code VBA (réf.: Excel: Afficher / masquer plusieurs feuilles en même temps (1 de 3)), voici une autre méthode de code VBA pouvant aider lors de présentation.

 

Prenons l’exemple d’un fichier où il y a 5 feuilles : A, B, C, D et E :

  • Feuille A : Feuille de présentation
  • Feuille B : Feuille sommaire
  • Feuille C : Feuille sommaire plus détaillée
  • Feuille D : Feuille de calculs
  • Feuille E : Tableau pour la gestion des feuilles

 

Feuille E – Tableau pour la gestion des feuilles

 

L’utilisation d’un tableau, listant les feuilles avec un indicateur, permet à la programmation VBA de savoir si celles-ci doivent être affichées lors d’une présentation. Les indicateurs ci-dessous permettent de gérer l’affichage des feuilles :

  • 0 : Feuille à afficher en tout temps
  • 1 :  Feuille à afficher lors de présentation / À masquer lors du travail
  • -1 : Feuille à masquer lors de présentation / À afficher lors du travail

 

Dans cet exemple, on peut choisir le public cible (CFO ou Directeur) en utilisant la validation de données (réf: Astuce Excel: Validation de données (Data validation)). Donc, on inscrit l’indicateur sous les colonnes CFO ou Directeur.

 

La colonne Choix présente les indicateurs inscrits selon le choix effectué (cellule B2). Dans cet exemple, les feuilles A et B seraient affichées lors de présentation et la feuille C serait affichée seulement lorsque présentée au directeur. Les feuilles D et E, étant des feuilles de calculs ou de configuration, seraient masquées lors des présentations.

 

La programmation VBA est plus complexe, car on doit utiliser une itération (Excel – VBA (niveau 1)) qui va consulter le tableau afin de déterminer si la feuille doit être affichée ou non.

 

Tout d’abord, on doit utiliser une condition afin de déterminer si les feuilles sont affichées (résultat : 1) ou masquées (résultat : -1). Le résultat correspond à un facteur qui sera ensuite utilisé à l’intérieur de la boucle. Si le résultat de la condition est -1, la feuille sera masquée. Sinon, celle-ci sera affichée.

 

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.

Par exemple, considérons que toutes les feuilles sont affichées et que la présentation sera faite au CFO. Le résultat de la condition sera 1.

 

La boucle consultera le tableau avec la liste des feuilles et masquera toutes les feuilles avec l’indicateur -1 dans le tableau. Si la macro est activée par la suite, le résultat de la condition sera -1. La boucle consultera le tableau avec la liste des feuilles et masquera toutes les feuilles avec l’indicateur 1 dans le tableau. Les feuilles avec 0 dans le tableau resteront affichées en tout temps, car lorsque multiplié avec le facteur 1 ou -1, le résultat sera toujours 0.

 

Les avantages d’utiliser cette méthode :

  • On peut visualiser rapidement les feuilles qui seront masquées ou affichées lors de présentation.
  • En le rendant dynamique avec la validation de données, on peut avoir différents publics cibles.

 

Le désavantage majeur est lors d’ajout, de modification ou de suppression de feuilles. La macro ne fonctionnera plus adéquatement. Celle-ci enverra un message d’erreur si la feuille a été supprimée ou si le nom a été modifié. Le tableau doit donc être mis à jour afin de refléter la liste des feuilles du fichier. Bref, dans l’optique où le modèle a atteint une maturité et une stabilité, il peut être intéressant d’utiliser cette méthode surtout s’il y a différents publics cibles.

 

Ne manquez pas la suite de cet article VBA : afficher / masquer plusieurs feuilles en même temps (3 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 :

Excel – VBA (niveau 1)
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é.

Laisser un commentaire

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

Retour en haut