J'ai un fichier dont à l'ouverture il a deux étapes de login (le code VBA ci-dessous dans "Thisworkbook") et en testant mon fichier sur un autre PC (les macros été désactivé sous Excel "heureusement") en ouvrant mon fichier j'ai eu accès directement à mon classeur et mes feuilles sans passer par login et mot de passe, le défit est de comment interdire l'ouverture d'un fichier Excel si les macros ne sont pas activés sur le pc utilisé.
Option Explicit
Private Sub Workbook_Open()
Feuil13.Activate
Range("P9").Activate
[_utilisateur] = "Invité"
Connecter
Alimenter_Combo
Application.DisplayFullScreen = True
Dim Y, s
ActiveSheet.Protect UserInterfaceOnly:=True
On Error Resume Next
Y = Application.CommandBars.Item("Ribbon").Visible
s = IIf(Y, "False", "True")
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon""," & s & ")"
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim cellule As Range
For Each cellule In [_rubriques]
If cellule = Sh.Name Then
If Not cellule.Offset(0, 1) = True Then
Feuil13.Activate
MsgBox "L'accès interdit"
End If
End If
Next
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Masque les feuilles que tu veux rendre invisibles, puis onglet Révision -> Protéger le classeur.
A l'ouverture, l'utilisateur ne verra que ce que tu lui montres, et ne pourra pas ouvrir les feuilles masquées.
Masque les feuilles que tu veux rendre invisibles, puis onglet Révision -> Protéger le classeur.
A l'ouverture, l'utilisateur ne verra que ce que tu lui montres, et ne pourra pas ouvrir les feuilles masquées.
Bonjour au forum, je cherche un moyen d'obliger les utilisateurs à activer les macros lorsqu'ils lancent un fichier excel. Dans ce fichier, il y a 3 feuilles (accueil, liste de clients et liste des ventes). Je précise que je cherche un moyen autre que mettre le niveau de sécurité bas pour...
Bonjour à tous, Comme beaucoup d'entre nous, mes fichiers Excel comprennent diverses macros écrites en VBA. Je voudrais vérifier, au démarrage de mon fichier excel que le niveau de sécurité du PC utilisé, autorise bien l'activation des macros. - Si le système autorise bien les macros...
Masque les feuilles que tu veux rendre invisibles, puis onglet Révision -> Protéger le classeur.
A l'ouverture, l'utilisateur ne verra que ce que tu lui montres, et ne pourra pas ouvrir les feuilles masquées.
Ici l'idée n'est pas de masqué des feuilles mais plutôt de forcer le classeur à ne pas s'ouvrir si les macros sont désactivé car j'ai un double connexion.
L'activation de macro se fait par fichier par fichier (test de Micorosft sur le fichier en cours d'ouverture + si pas les bons "tag" ... alors Excel bloque les macro et demande à l'utilisateur de les activer pour ce fichier ...)
Donc Excel doit Ouvrir le Fichier pour tester sa sécurité et bloquer ou non les macros et initier la possibilité à l'utilisateur d'activer les macros.
Et pas moyen de court-circuiter l'ouverture et la vérification de sécurité de Microsoft ... donc à part ces solutions, peu de chance que tu trouves un moyen avec une interdiction d'ouverture.
Cela me parait infaisable mais peut-être que quelqu'un à un truc Magique dans sa manche ... lol
Bonjour au forum, je cherche un moyen d'obliger les utilisateurs à activer les macros lorsqu'ils lancent un fichier excel. Dans ce fichier, il y a 3 feuilles (accueil, liste de clients et liste des ventes). Je précise que je cherche un moyen autre que mettre le niveau de sécurité bas pour...
Bonjour à tous, Comme beaucoup d'entre nous, mes fichiers Excel comprennent diverses macros écrites en VBA. Je voudrais vérifier, au démarrage de mon fichier excel que le niveau de sécurité du PC utilisé, autorise bien l'activation des macros. - Si le système autorise bien les macros...
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets("FeuilleActivationDesMacros").Visible = xlSheetVisible
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
If curSheet.Name <> "FeuilleActivationDesMacros" Then curSheet.Visible = xlSheetVeryHidden
Next curSheet
ThisWorkbook.Save
End Sub