Ce didacticiel vous apprendra comment masquer et afficher des feuilles de calcul avec VBA.
Masquer la feuille dans VBA
Pour masquer une feuille dans VBA, utilisez la propriété Visible de la feuille de calcul.
Définissez la propriété Visible sur FALSE :
1 | Worksheets("Sheet1").visible = False |
ou définissez la propriété Visible sur xlSheetHidden :
1 | Feuilles de calcul ("Feuille1").visible = xlSheetHidden |
C'est la même chose que si l'utilisateur faisait un clic droit sur l'onglet de la feuille de calcul et sélectionnait « masquer ».
Afficher la feuille
Pour afficher une feuille dans VBA, utilisez la propriété Visible de la feuille de calcul :
1 | Feuilles de calcul("Feuille1").Visible = True |
ou
1 | Feuilles de calcul ("Feuille1").Visible = xlFeuilleVisible |
Les feuilles cachées peuvent être vues en cliquant avec le bouton droit de la souris dans la zone d'onglet Feuille de calcul :
Feuilles très cachées
La propriété Sheet Visible a une troisième option : xlSheetVeryHidden :
1 | Feuilles de calcul ("Feuille1").Visible = xlSheetVeryHidden |
Les feuilles très masquées sont masquées lors d'un clic droit dans la zone d'onglet Feuille de calcul :
Ce code empêchera l'utilisateur de la feuille de calcul de voir l'onglet Feuille de calcul en bas de l'écran. Il masque également la feuille de calcul à l'utilisateur lorsqu'il clique avec le bouton droit sur les onglets en bas. La seule façon de voir que la feuille de calcul existe (ou d'afficher la feuille de calcul) consiste à ouvrir Visual Basic Editor.
Afficher les feuilles très cachées
Les feuilles de travail très cachées sont rendues visibles tout comme les feuilles de travail cachées normales :
1 | Feuilles de calcul ("Feuille1").Visible = True |
ou
1 | Feuilles de calcul ("Feuille1").Visible = xlFeuilleVisible |
Masquer / afficher les feuilles dans l'éditeur VBA
Vous pouvez également basculer la propriété Worksheet Visible dans l'éditeur VBA :
Masquer tous les onglets de la feuille de calcul
Vous pouvez également vouloir masquer complètement la zone de l'onglet Feuille de calcul pour empêcher l'utilisateur de naviguer vers différentes feuilles de calcul. En savoir plus sur le masquage des onglets de feuille de calcul.
Masquer/afficher les feuilles dans le classeur protégé
Votre classeur ne doit pas être protégé avant de pouvoir masquer ou afficher des feuilles de calcul. Pour déprotéger la structure de votre classeur, utilisez le code suivant :
1 | ActiveWorkbook.Déprotéger |
Si la structure de votre classeur est protégée par mot de passe, vous devez le faire à la place :
1 | ThisWorkbook.Unprotect "mot de passe" |
Afficher toutes les feuilles
Cette procédure affichera toutes les feuilles de calcul d'un classeur à l'aide d'une boucle For Each :
12345678 | Sous Unhide_All_Sheets()Dim ws As Feuille de calculActiveWorkbook.DéprotégerPour chaque ws dans les feuilles de calculws.Visible = xlFeuilleVisibleProchainFin du sous-marin |
Notez que nous déprotégeons d'abord le classeur, juste au cas où il serait protégé par mot de passe.