J'ai un tableur Excel avec trois feuilles. Une des feuilles contient des formules pour l’une des autres feuilles.
Existe-t-il un moyen programmatique de masquer la feuille contenant ces formules?
Pour masquer l'interface utilisateur, utilisez Format> Feuille> Masquer
Pour masquer par programmation, utilisez la propriété Visible
de l'objet Worksheet
. Si vous le faites par programme, vous pouvez définir la feuille comme "très masquée", ce qui signifie qu'elle ne peut pas être masquée via l'interface utilisateur.
ActiveWorkbook.Sheets("Name").Visible = xlSheetVeryHidden
' or xlSheetHidden or xlSheetVisible
Vous pouvez également définir la propriété Visible via le volet de propriétés de la feuille de calcul dans VBA IDE (ALT+F11).
Vous pouvez le faire par programme en utilisant une macro VBA. Vous pouvez faire la feuille caché 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
Je voulais juste ajouter un peu plus de détail aux réponses données. Vous pouvez aussi utiliser
sheet.Visible = False
se cacher et
sheet.Visible = True
dévoiler.
Cela peut être fait sur une seule ligne, tant que la feuille de calcul est active:
ActiveSheet.Visible = xlSheetHidden
Cependant, vous ne voudrez peut-être pas faire cela, surtout si vous utilisez des opérations "select" ou si vous utilisez d'autres opérations ActiveSheet.