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 :
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
Avez vous une solution à me proposer ?

Merci de votre aide.