OVH Cloud OVH Cloud

Défendre "enregistrer sous"

6 réponses
Avatar
Caroline L.
Bonjour à tous,

Je voudrais savoir si c'est possible de :
- rendre IMPOSSIBLE la copie d'un fichier Excel
- défendre l'utilisateur d'enregistrer sous

Au fond, aucun dupplicata du fichier ne serait possible soit
- en faisant un copier/coller et en renommant le fichier
- avec l'option "enregistrer sous"

Est-ce une procédure que je peux insérer dans le ThisWorkbook ou ailleurs ?

Merci pour vos précieux conseils.
à bientôt
Caroline

6 réponses

Avatar
anonymousA
bonjour,

pour un utilisateur averti en VBA, il est impossible d'empecher de copie
sinon de la feuille du moins de ce qu'il y a sur la feuille.
Pour le reste, il est toujours possible bien que parfois laborieux
d'invalider tout un tas de commandes intégrées d'Excel.

A+


Bonjour à tous,

Je voudrais savoir si c'est possible de :
- rendre IMPOSSIBLE la copie d'un fichier Excel
- défendre l'utilisateur d'enregistrer sous

Au fond, aucun dupplicata du fichier ne serait possible soit
- en faisant un copier/coller et en renommant le fichier
- avec l'option "enregistrer sous"

Est-ce une procédure que je peux insérer dans le ThisWorkbook ou ailleurs ?

Merci pour vos précieux conseils.
à bientôt
Caroline





Avatar
HD
En VBA :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub


--
@+
HD
Avatar
LSteph
Bonjour Caroline,
Cela semblerait possible en gèrant un before save avec désactivation des
événements
puis forcer l'enregistrement ciblé chemin répertoire du classeur.

Mais à mon humble avis même si on verrouille le classeur et le projet
le hic c'est que cela n' empêchera ni de copier ou changer le nom dans
explorateur ou poste de travail
ni de désactiver les macros à l'ouverture et ainsi , faire ce qu'on veut de
ce classeur.
Donc doit falloir mettre les mains plus profond dans le camboui. Bon courage

Sinon l''idée était du genre (après avoir enregistré une première fois le
classeur):

'***
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
Application.EnableEvents = False
ActiveWorkbook.Close True
Application.EnableEvents = True
End Sub

Private Sub Workbook_Open()
Application.EnableEvents = True
End Sub
'****

Cordialement

lSteph

"Caroline L." a écrit dans le message de news:
1QkVd.101405$
Bonjour à tous,

Je voudrais savoir si c'est possible de :
- rendre IMPOSSIBLE la copie d'un fichier Excel
- défendre l'utilisateur d'enregistrer sous

Au fond, aucun dupplicata du fichier ne serait possible soit
- en faisant un copier/coller et en renommant le fichier
- avec l'option "enregistrer sous"

Est-ce une procédure que je peux insérer dans le ThisWorkbook ou ailleurs
?

Merci pour vos précieux conseils.
à bientôt
Caroline




Avatar
HD
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub
Cela empêche d'enregistrer ou d'enregistrer sous dans Excel... Pour ce qui

est de faire un copier/coller du fichier il faut voir si tu peux mettre ce
fichier sur un répertoire protégé sur un serveur NT ou W2k... Il y'a peut
être un moyen de bloquer la chose (???).
--
@+
HD

Avatar
HD
Tu peux même bloquer l'enregistrement pour tout le monde sauf pour toi :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
if Application.Username <> "MonNomD'utilisateurExcel" then Cancel = True
End Sub


Application.Username est le nom d'utilisateur que tu as dans 'Outils /
Options / Général'

--
@+
HD
Avatar
anonymousA
bonjour,

c'est bien beau , mais je maintiens que je copie n'importe quelle donnée de
feuille de n'importe quel fichier et même un objet sur une autre feuille,
quand bien même la 1ere feuille serait protégée et/ou cachée.
En gros, on peut à peu près tout faire ce qu'on veut y compris changer la
date de création du fichier, lui redonner le même nom, bref à bien y
regarder, il ne reste pas grand chose au final pour prendre un fichier et lui
redonner la même gueule qu'avant sauf qu'on aura fait à peu près tout ce
qu'on aura voulu avec.
Y'a bien des trucs plus compliqués que d'autres , mais à ma connaissance ,
rien d'impossible.C'est bien normal. Excel est un outil OUVERT.
Et puis si tout ca résiste , il reste l'incroyable facilité d'Excel à voir
ses codes de protection déplombés.

A+


Tu peux même bloquer l'enregistrement pour tout le monde sauf pour toi :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
if Application.Username <> "MonNomD'utilisateurExcel" then Cancel = True
End Sub


Application.Username est le nom d'utilisateur que tu as dans 'Outils /
Options / Général'

--
@+
HD