Re : Masquer une feuille et la rendre inaccessible
Y a-t-il une sécurité absolue?... Une cryptographie irréversible, un jeu de cache-cahe tordu?
Le xlVeryHidden a l'avantage de ne pas éveiller les soupçons sauf pour celui qui va droit dans VBE.
Le verrouillage par mot de passe est efficace, pour peu qu'on y mette de la complexité dans le mot de passe.
On peut s'amuser à mettre une macro qui ne facilite pas l'accès:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Set feuilleVerrouillee = ThisWorkbook.Worksheets("Feuil3")
Set feuilleCle = ThisWorkbook.Worksheets("Feuil1")
If feuilleCle.Range("Cle").Value = "Open" Then Exit Sub
feuilleVerrouillee.Visible = 2
End Sub
Ca énerve... (il faut connaître la clé qui peut être cacher derrière un Bitmap pour faire beau) On peut aussi prendre l'option d'écrire un code assez banal, mais dont une des fonctions appelées ressemble à s'y méprendre à une fonction VBA, alors qu'elle clôture systématiquement la feuille à cacher.
La sécurité est souvent une succession de barrières pour décourager plutôt q'une solution unique prétendue efficace. Si l'exemple ci-dessus est facile le suivant n'éveille pas forcément les soupçons.
Dans la feuille à cacher mettre le code suivant pour l'évènement activate:
Private Sub Worksheet_Activate()
Set feuilleBidon = ThisWorkbook.Worksheets("Feuil2")
feuilleBidon.Range("A1") = Now()
End Sub
Inoffensif au premier abord... Si dans feuil2 (ou pire, ailleurs) on génère un calcul par raport à la valeur de "A1" précédemment mise à jour avec now() on déclenche un évènement Calculate dans lequel il suffira de placer le 1er code indiquer ci-dessus.
A vous d'imaginer... mais évidemment rien d'absolu, juste un cache-cache qui déroute le débutant ou l'utilisateur moyen.