Masquer toutes les feuilles sauf celle active avec Excel VBA

Peut-être que vous ne voulez pas supprimer toutes les feuilles. Au lieu de cela, vous préférez une solution plus subtile, ou les cacher. Toutefois, Excel ne vous permettra pas de masquer toutes les feuilles du classeur – au moins une doit rester visible. Dans ce cas, vous pouvez masquer toutes les feuilles et ne laisser que les éléments actifs visibles.
Comment ca marche?
La macro est une boucle qui vérifie séquentiellement toutes les feuilles de calcul et compare leurs noms avec le nom de la feuille de calcul active. Si une feuille portant un nom différent est trouvée, elle est masquée.

Sub MasquerFeuilles()
'Étape 1: Déclarez la variable
Dim ws As Worksheet
'Étape 2: Commencez la boucle pour toutes les feuilles
For Each ws In ThisWorkbook.Worksheets
'Étape 3: Vérifiez le nom de chaque feuille
If ws.Name <> ThisWorkbook.ActiveSheet.Name Then
'Étape 4: Masquer la feuille
ws.Visible = xlSheetHidden
End If
'Étape 5: Passer à la feuille suivante
Next ws

End Sub

1. À l’étape 1, la variable appelée ws est décodée en premier afin de créer un conteneur en mémoire pour chaque feuille traitée par la tuile.
2. À l’étape deux, l’action commence par une commande qui demande à Excei d’analyser toutes les feuilles du classeur. Il y a une différence entre l’utilisation de ThisWorkbook et ActiveWorkbook. L’objet ThisWorkbook fait référence à un classeur contenant le code. En revanche, l’objet ActiveWorkbook s’applique au classeur actif. Souvent, les mêmes objets sont renvoyés, mais si le classeur, dans lequel le code a été activé, il n’est pas actif, les résultats seront alors différents.
Dans notre cas, nous ne voulons pas risquer de cacher des feuilles d’autres classeurs, nous allons utiliser la méthode ThisWorkbook.
3. Dans cette étape, la macro compare simplement le nom de la feuille de calcul active avec le nom de la feuille de calcul traitée par la mosaïque.
4. Lorsque les noms sont différents, la feuille est masquée.
5. À l’étape 5, la macro commence le balayage sur la dernière feuille. Après analyse de toutes les feuilles du cahier de travail macro, le travail est terminé.
NOTE
Les lecteurs ont peut-être remarqué que la valeur xlSheetHidden était utilisée dans la macro. Il cache la feuille, qui est obtenue dans des conditions normales en cliquant avec le bouton droit de la souris sur son nom sur la carte et en sélectionnant Masquer dans le menu. Pour restaurer une telle feuille, cliquez avec le bouton droit de la souris sur le nom d’une feuille et sélectionnez Découvrir dans le menu. Il sera ensuite affiché avec toutes les feuilles cachées. Cependant, cette méthode est différente de celle utilisée dans le code. Après avoir appliqué xlSheetHidden, l’utilisateur ne peut pas afficher la feuille masquée, même s’il clique avec le bouton droit de la souris sur une autre feuille. L’affichage d’une telle feuille masquée est l’utilisation de VBA.
Comment utiliser la macro?
Pour implémenter cette macro, vous pouvez copier et coller son code dans un module standard. À cette fin:
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez avec le bouton droit sur le nom du projet ou de la feuille de calcul.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code dans le module nouvellement créé.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x