Comment masquer/afficher une feuille en utilisant VBA ?

Vous pouvez utiliser un code VBA pour masquer ou afficher une feuille dans Excel. Lorsque vous cliquez avec le bouton droit sur l’onglet de la feuille, vous pouvez voir l’option pour le masquer ou l’afficher, et la même chose que vous pouvez faire avec un code VBA.

Dans cet article, nous examinerons certains des moyens et méthodes que nous pouvons utiliser.

Code VBA pour masquer une feuille

Supposons que vous souhaitiez masquer « Sheet1 » du classeur actif. Dans ce cas, vous devez utiliser un code comme celui-ci.

Sheets("Sheet1").Visible = False

Dans le code ci-dessus, vous avez fait référence à Sheet1, utilisez la propriété visible et l’avez changée en false.

Rendre une feuille très cachée

Il existe une autre option que vous pouvez utiliser pour rendre une feuille très cachée qui ne peut pas être facilement masquée par l’utilisateur.

Masquer une feuille en fonction de la valeur d’une cellule

Très bien, si vous souhaitez utiliser une valeur de cellule au lieu d’utiliser directement le nom de la feuille dans le code, vous pouvez vous référer à cette cellule.

Sheets(Range("A1").Value).Visible = True

Ce code fait référence à la cellule A1 et utilise la valeur de celle-ci pour faire référence à la feuille que vous souhaitez masquer.

Liens utiles : Exécuter une macroEnregistreur de macrosVisual Basic EditorManuel de macros personnelles

Vérifier la feuille avant de la cacher

Vous pouvez également utiliser un petit code comme celui-ci pour vérifier la feuille dont vous souhaitez masquer les sorties ou non.

Sub vba_hide_sheet()

Dim sht As Worksheet

For Each sht In ThisWorkbook.Worksheets

    If sht.Name = "Sheet1" Then

        sht.Visible = False
        Exit Sub

    End If

Next sht

MsgBox "Sheet not found", vbCritical, "Error"

End Sub

Le code ci-dessus utilise FOR EACH LOOP + IF STATEMENT pour parcourir chaque feuille du classeur. Et vérifiez la feuille que vous souhaitez masquer.

Masquer toutes les feuilles (sauf ActiveSheet)

Maintenant, il y a une chose que vous devez comprendre, vous ne pouvez pas cacher toutes les feuilles. Il doit y avoir une feuille visible tout le temps.

Sub vba_hide_sheet()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Sheets

    If ActiveSheet.Name <> ws.Name Then

        ws.Visible = False

    End If

Next ws

End Sub

Le code ci-dessus parcourt toutes les feuilles du classeur, puis associe le nom de chaque feuille au nom de la feuille active et le masque s’il ne correspond pas.

Code VBA pour afficher une feuille

Pour afficher une feuille, vous devez modifier la propriété visible sur TRUE.

Sheets("Sheet1").Visible = False

Si la feuille que vous souhaitez afficher est déjà visible, ce code n’affichera aucune erreur. Mais si cette feuille n’existe pas, vous obtiendrez une erreur d’exécution ‘9’.

vba-code-to-unhide-a-sheet

Utilisez VBA pour afficher toutes les feuilles masquées

Imaginez que vous avez plusieurs feuilles masquées dans un classeur et que si vous souhaitez les masquer manuellement, vous devez le faire une par une.

Mais voici le code fait cela en une seule fois.

Sub vba_unhide_sheet()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Sheets

    If ws.Visible = False Then

        ws.Visible = True

    End If

Next ws

End Sub

Il parcourt chaque feuille et la démasque.

Ajouter un commentaire

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