Cacher une feuille de travail Excel avec VBA

j'ai une feuille de calcul Excel avec trois feuilles. L'une des feuilles contient des formules pour l'un des autres feuilles.

Existe-t-il un moyen programmatique pour masquer la feuille qui contient ces formules?

29
demandé sur Dirk Vollmar 2009-05-12 19:09:34

4 réponses

Pour masquer à partir de l'INTERFACE utilisateur, utilisez la commande Format > Feuille > Masquer

masquer par programmation, utilisez la Visible propriété du Worksheet objet. Si vous le faites de manière programmatique, vous pouvez définir la feuille comme "très cachée", ce qui signifie qu'elle ne peut pas être libérée par L'interface utilisateur.

ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden 
' or xlSheetHidden or xlSheetVisible

vous pouvez également définir la propriété Visible à travers le volet Propriétés pour la feuille de travail dans le VBA IDE ( ALT+F11).

54
répondu Tmdean 2013-07-16 05:48:30

Vous pouvez le faire de manière programmatique en utilisant une macro VBA. Vous pouvez faire la feuille cachée ou très caché:

Sub HideSheet()

    Dim sheet As Worksheet

    Set sheet = ActiveSheet

    ' this hides the sheet but users will be able 
    ' to unhide it using the Excel UI
    sheet.Visible = xlSheetHidden

    ' this hides the sheet so that it can only be made visible using VBA
    sheet.Visible = xlSheetVeryHidden

End Sub
20
répondu Dirk Vollmar 2009-05-12 15:17:50

je voulais juste ajouter un peu plus de détails aux réponses données. Vous pouvez également utiliser

sheet.Visible = False

pour masquer et

sheet.Visible = True

pour l'afficher.

Source

17
répondu Charles Wood 2014-11-07 18:46:38

ceci peut être fait en une seule ligne, aussi longtemps que la feuille de travail est active:

ActiveSheet.Visible = xlSheetHidden

cependant, vous pouvez ne pas vouloir le faire, surtout si vous utilisez des opérations "select" ou si vous utilisez D'autres opérations ActiveSheet.

6
répondu Andrew Scagnelli 2009-05-20 15:20:46