Bonjour,
Voila mon problème :
J'ai un fichier Excel 2010 qui s'ouvre avec exécution de macro automatique me permettant différentes vérifications et verrouillant l'accès au fichier dans certaines conditions (date d'évaluation dépassée, ...)
Cela était intéressant jusqu'alors, mais la nouvelle possibilité d'EXCEL d'ouverture en Mode protégé permet à tout utilisateur l'ouverture du fichier en "shuntant" la macro d'ouverture Workbook_Open() pour pouvoir utiliser pleinement le fichier (avec les macros) ; grâce au fameux bouton 'Activer la modification' ; qui met la macro d'ouverture en défaut et qui laisse ouvert le fichier lorsqu'on clic sur 'Fin' sur la fenêtre d'erreur qui apparait.
Je souhaiterai éviter que ce fichier puisse s'ouvrir ou reste ouvert lorsqu'on l'ouvre en mode protégé. J'ai essayé plusieurs choses, mais les fonctions qui me permettent de fermer le fichier ne marche pas.
Par exemple dans la macro d'ouverture :
Avez vous une solution à me proposer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Private Sub Workbook_Open() On Error GoTo ligne_sortie For Each cb In Application.CommandBars cb.Enabled = False Next s = ActiveWorkbook.BuiltinDocumentProperties(11) If Format(Now() - s, "#") > 30 Then If MsgBox("Version d'évaluation dépassée de : " & Format((Now() - s - 30), "#") & " jours.", vbYesNo) = vbYes Then ActiveWorkbook.Close SaveChanges:=False Else If InputBox("cléf d'activation ? ") <> "xxxxx" Then ActiveWorkbook.Close SaveChanges:=False End If End If Exit Sub ligne_sortie: If Application.ProtectedViewWindows.Count > 0 Then Set wbProtected = Application.ProtectedViewWindows(1).Workbook wbProtected.Close SaveChanges:=False 'ne ferme pas le fichier !!! pas de solution pour empecher l'ouverture en mode protégé 'ActiveWorkbook.Close SaveChanges:=False 'ne marche pas, le workbook n'est pas encore actif End If End Sub
Merci de votre aide.
Partager