interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros

  • Initiateur de la discussion Initiateur de la discussion arouche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

arouche

Guest
Bonjour

je voudrais savoir comment faire pour interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros ???


Merci
 
Re : interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros

Bonjour arouche et Bienvenue, Pierrot, re le forum,

En imaginant que ce soit possible, ce serait déplacer le problème...

Il te faudrait intervenir sur tous les postes concernés.

Quid ensuite des macros indésirables que seraient ouvertes automatiquement...

Le seul choix réside dans le conseil envers tes utilisateurs.

Bonne reflexion et journée

Jean-Pierre
 
Re : interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros

Bonjour arouche, Pierrot

Comme solution, lorsque tu fermes ton classeur, tu masques (xlVeryHidden) toutes les feuilles sauf 1.
Sur cette feuille, un message informant l'utilisateur que le classeur est inexploitable sans les macros.
A l'ouverture, en activant les macros, on démasque toutes les feuilles, et on masque la feuille d'information.
Si l'utilisateur ouvre le classeur en désactivant les macros, il n'aura donc que ce message, il sera obligé de fermer, puis réouvrir en acceptant les macros..
Solution basique qui ne résisterait pas longtemps à un utilisateur averti, mais autrement....

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
  For s = 2 To Sheets.Count ' on masque les feuilles
    Sheets(s).Visible = xlVeryHidden
  Next s
End Sub

Private Sub Workbook_Open()
  For s = 2 To Sheets.Count
    Sheets(s).Visible = True
  Next s
End Sub
 
Re : interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros

Bonjour,

Il existe pourtant une solution: faire ouvrir le fichier par un autre fichier.

Exemple: le fichier à ouvrir s'appelle fich1.xls.
On crée un autre fichier fich2.xls, dont l'évènement workbook_open déclenchera l'ouverture de fich1.xls; si les macros ne sont pas activées, fich2 ne s'ouvrira pas.

Mais, me direz-vous, comment empêcher d'ouvrir directement fich2? En le protégeant par mot de passe, lequel sera donné par l'instruction dans fich1

Macro à placer dans fich2.xls:

Private Sub Workbook_Open()
Dim keyfile As String
keyfile = ThisWorkbook.Name

Workbooks.Open Filename:="fich1.xls", Password:="cequetuveuxjementape"
Workbooks(keyfile).Close savechanges:=False
End Sub
 
Re : interdir l'ouverture d'un fichier si l'utilisateurs n'active pas les macros

Bonjour le fil,

Pour moi la solution de bhbh est la meilleure si l'on considère (Dans tous les cas d'ailleurs) que les utilisateurs du classeur ne sont pas des experts en Excel car sinon même l'utilisation de veyhidden n'y changera rien...

En ce qui concerne la proposition de Coriolan, cela revient au même que d'utiliser un mot de passe sur le 1er classeur sans second classeur... si j'ai bien compris...
Pourquoi faire simple quand on peut faire compliqué?😀😛
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
635
W
  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
380
Réponses
1
Affichages
161
  • Question Question
XL 2016 liste
Réponses
10
Affichages
386
Réponses
4
Affichages
321
  • Question Question
Réponses
13
Affichages
436
Réponses
11
Affichages
236
Retour