Comment afficher ou masquer plusieurs feuilles Excel en 1 seul clic ?

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment afficher et masquer des feuilles en un seul clic sur Excel.

Cette fonctionnalité est extrêmement pratique lorsque vous travaillez avec des classeurs comportant de nombreuses feuilles et que nous souhaitons rapidement afficher ou masquer certaines d'entre elles, notamment les feuilles de calculs intermédiaires.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

1. Introduction

Lorsque nous travaillons sur des classeurs Excel complexes comprenant de nombreuses feuilles, il peut être fastidieux de naviguer entre les onglets pour trouver la bonne feuille à afficher ou masquer.

C'est là qu'intervient notre astuce pour afficher et masquer des feuilles en un seul clic. Vous serez en mesure d'économiser du temps et d'améliorer notre productivité dans Excel.

 

2. Écrire la macro pour afficher/masquer les feuilles

Pour effectuer cette opération, nous allons devoir mettre en place une petite macro-commande que nous allons développer en VBA, que nous pourrons ensuite appeler à l’aide d’un bouton que nous allons insérer dans la barre d'outils d’Excel.

Le VBA (Visual Basic for Applications) est un langage de programmation intégré dans Excel qui nous permet d'automatiser des tâches et d'interagir avec les différentes fonctionnalités du logiciel.

Il s’agit d’un langage de programmation simplifié, car il est spécifiquement conçu pour être utilisé avec Excel et ne nécessite pas une connaissance approfondie en programmation.

C'est pourquoi, même si vous n'avez pas de notion en développement, nous pouvons largement suivre ce tutoriel.

D’autant plus que nous détaillerons chaque ligne de code en expliquant son fonctionnement.

Cela dit, si vous souhaitez en savoir plus sur le VBA, vous pouvez découvrir consacré à ce langage de programmation et sur les possibilités incroyables proposées par ce dernier en suivant simplement ce lien.

Excel formation - Afficher masquer en 1 clic - 01

Pour développer la macro en VBA, la première chose à faire est de lancer l'éditeur de code VBE (Visual Basic Editor).

Pour cela, la méthode la plus simple consiste à utiliser le raccourci clavier [Alt]+[F11]. Cette action ouvrira l'éditeur VBA, où nous pourrons écrire notre code.

Une fois dans l'éditeur VBA, nous allons nous rendre dans le menu « Insertion » afin de sélectionner « Module ».

Excel formation - Afficher masquer en 1 clic - 02

Cela aura pour but d'ajouter un nouveau module dans le projet VBA.

Il s’agit d’une feuille vide dans laquelle nous allons venir saisir le code VBA.

Maintenant que nous avons notre module prêt, nous pouvons commencer à écrire notre macro en VBA.

Dans la fenêtre de code vide, nous allons commencer par définir le nom de notre macro en utilisant le mot-clé « Sub » suivi du nom que nous avons choisi, par exemple « AfficherMasquerFeuilles() ».

Ensuite, nous appuyons sur [Entrée] pour valider la création de la macro.

VBA ajoute alors la ligne « End Sub » qui va terminer notre macro :

Sub afficherMasquerFeuilles()
End Sub

Cette macro va consister à passer une première fois en revue toutes les feuilles de calcul, afin de modifier la couleur d'onglet des feuilles masquées.

Cela permettra d’identifier facilement les feuilles ayant été masquées au moins une fois pour pouvoir les remasquer facilement par la suite.

Ensuite, nous allons passer une seconde fois sur les feuilles du classeur pour déterminer l'action à effectuer : si une feuille est visible et a une couleur d'onglet gris clair, l'action consistera à masquer toutes les feuilles du classeur, dans le cas contraire, nous les afficherons

Et enfin, une dernière revue des feuilles va permettre d'appliquer l'action déterminée précédemment : afficher ou masquer toutes les feuilles identifiées par un onglet gris.

Cette macro VBA sert à afficher ou masquer les onglets d'un classeur Excel dont la couleur d'onglet est gris clair. La couleur est définie par le code RGB (192, 192, 192). Voici une explication détaillée de chaque ligne de code :

Pour commencer, nous allons déclarer une première variable que nous appelons « feuille » et qui sera utilisée comme une feuille de calcul (Worksheet).

Dim feuille As Worksheet

En VBA, comme dans n'importe quel autre langage de programmation, une variable est une zone de mémoire de l'ordinateur où l'on peut stocker une valeur, pour la consulter ou la modifier par la suite.

Les variables possèdent un nom unique (identifiant) qui permet de faire référence à cette valeur stockée et un type qui permet de spécifier la nature des informations qui peuvent être stockées dans la variable.

Ici, le type "Worksheet" que nous donnons à la variable "feuille" permet de stocker une référence à une feuille de calcul dans Excel, ce qui va ensuite nous permettre de la manipuler pour la masquer ou l’afficher ou encore pour modifier la couleur de son onglet.

Cela étant fait, nous allons déclarer une seconde variable que nous appelons « couleurOnglet » et qui va nous permettre de stocker la couleur de l'onglet que nous allons souhaiter utiliser pour identifier les feuilles à masquer

Dim couleurOnglet As Long

Celle-ci est typée en tant que « Long », c’est-à-dire qu’elle va permettre d’enregistrer des nombres entiers.

Puis, pour définir la couleur que nous allons souhaiter stocker dans cette variable, nous utilisons la fonction RGB qui permet de pour définir une couleur en fonction de trois valeurs numériques, correspondant respectivement aux intensités de rouge, de vert et de bleu, ces valeurs étant comprises entre 0 et 255.

En associant ces trois couleurs primaires, nous pourrons ainsi obtenir toute la palette de couleurs.

Lorsque les trois composantes sont égales, nous obtiendrons une teinte de gris, et ces valeurs sont proches de 255, plus le gris va tendre vers le clair et le blanc.

couleurOnglet = RGB(192, 192, 192)

Maintenant, nous allons pouvoir mettre en place une première boucle « For Each », qui va parcourir toutes les feuilles dans le classeur actuel (ThisWorkbook).

Une boucle « For Each » est une instruction VBA qui permet de xxx.

Ici, nous allons pouvoir passer en revue toutes les feuilles du classeur en parcourant toute la collection des sous-objets de « ThisWorkbook.Sheets », c’est-à-dire xxx.

Dans cette boucle, nous utilisons la variable « feuille » que nous avons déclarée un peu plus tôt, laquelle va correspondre lors de chaque passage de boucle aux feuille du classeur.

For Each feuille In ThisWorkbook.Sheets 
 Next

Si une feuille n'est pas visible (c’est-à-dire que sa propriété « Visible » est différente de « xlSheetVisible »), alors nous pourrons changer la couleur de son onglet pour lui affecter la couleur enregistrée dans la variable « couleurOnglet ».

        If feuille.Visible <> xlSheetVisible  Then
            feuille.Tab.Color = couleurOnglet
        End If

Ensuite, nous pouvons déclarer une nouvelle variable « action » que nous typons en tant que « String ».

Dim action As String

Nous lui assignons la valeur « Afficher » en tant qu’action par défaut.

Cela va nous permettre de mettre en place une nouvelle boucle « For Each » qui va à nouveau parcourir toutes les feuilles du classeur.

Si une feuille a une couleur d'onglet gris clair et qu'elle est visible, alors la variable "action" est définie à "Masquer", en d’autres termes, il suffit qu’une seule feuille à masquer soit affichée pour que nous les masquions toutes.

    
    For Each feuille In ThisWorkbook.Sheets
        If feuille.Tab.Color = couleurOnglet And feuille.Visible  = xlSheetVisible Then
            action = "Masquer"
        End If
    Next feuille

Nous en arrivons à la dernière boucle « For Each » qui va vérifier si une feuille a une couleur d'onglet gris clair.

    For Each feuille In  ThisWorkbook.Sheets
        If feuille.Tab.Color = couleurOnglet Then
            If action = "Afficher" Then
                feuille.Visible = xlSheetVisible
            Else
                feuille.Visible = xlSheetHidden
            End If
        End If
    Next feuille

Ensuite, nous regardons si l’action définie dans la variable du même nom est égale à « Afficher » ou « Masquer ».

Cela nous permettra de modifier la valeur de la propriété « feuille.Visible » pour lui affecter la constante « xlSheetVisible » ou « xlSheetHidden ».

Si nous souhaiter que la feuille ne soit pas visible depuis le menu « Afficher / Masquer », nous pouvons également lui donner la valeur « xlSheetVeryHidden »

Excel formation - Afficher masquer en 1 clic - 03

Excel formation - Afficher masquer en 1 clic - 04

 

3. Ajouter un bouton à la barre d'outils

Maintenant que nous avons notre macro, nous allons l'associer à un bouton dans la barre d'outils « Accès rapide », pour pouvoir l’exécuter rapidement.

  • Nous commençons par cliquer avec le bouton droit de la souris sur la barre d'outils Excel (la zone située juste en dessous du ruban).
  • Puis, dans le menu contextuel, nous sélectionnons « Personnaliser la barre d'outils d'accès rapide ».
  • Dans la fenêtre de personnalisation, cliquez sur « Plus de commandes... »
  • Dans la liste déroulante « Choisir les commandes dans », nous sélectionnons « Macros ».
  • Une fois que nous avons repéré la macro « AfficherMasquerFeuilles » dans la liste de gauche, puis cliquez sur « Ajouter >> »
  • Pour finir, nous cliquons sur « OK » pour fermer la fenêtre de personnalisation.

Maintenant que notre bouton est prêt, nous pouvons l'utiliser pour afficher et masquer les feuilles en un seul clic :

  • Nous nous rendons dans le classeur Excel contenant les feuilles à afficher ou masquer.
  • Nous cliquons sur le bouton que nous avons ajouté à la barre d'outils d'accès rapide.
  • Toutes les feuilles du classeur alterneront entre l'affichage et le masquage.

Excel formation - Afficher masquer en 1 clic - 05

Nous pourrons ainsi rapidement voir ou cacher les feuilles selon nos besoins.

 



Articles qui pourraient vous intéresser

Comment regrouper (ou pas !) les dates d’un tableau croisé dynamique (TCD) sur Excel ?
Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)
Comment créer un graphique Gaufre sur Excel ?

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.