Bonjour à tous,
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)
ThisWorkbook.Save
End Sub
Je vous remercie d'avance,
Cordialement,
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)
ThisWorkbook.Save
End Sub
Je vous remercie d'avance,
Cordialement,