Bloquer les "fonctions enregistrer sous" et "enregistrer"

9 réponses
Avatar
JFB
Bonjour,

Je souhaite bloquer la fonction enregistrer et enregistrer=20
sous sur un excel 2000.

=E9ventuellment avec un mot de passe)

Est-ce possible

Merci pour les r=E9ponses
JFB

9 réponses

Avatar
Hervé Branchu
Bonjour JFB

Au regard de la note suivante il n'est pas possible de désactiver les élément
des menus prédéfinis
néanmoins cette note contient un petit bout de code qui permet de donner
l'impression que le menu en question est désactivé
http://support.microsoft.com/default.aspx?scid=KB;EN-US;213767

Macro exemple
Sub Disable_Builtin_MenuItem()
Dim i
Dim x
With MenuBars(xlWorksheet).Menus("File").MenuItems("Exit")
i = .Index 'Save the position of the built-in menu command.
.Delete 'Delete the built-in menu command.
End With
'Add a custom menu command with the same caption and index as the
'built-in menu command that you deleted.
Set x = MenuBars(xlWorksheet).Menus("File").MenuItems.Add _
(Caption:="Exit", before:=i)
x.Enabled = False
End Sub
Remise à zéro du menu
Sub ResetMenubar()
MenuBars(xlWorksheet).Reset
End Sub
-- Bonne Journée====================================================Hervé
Branchu, Sitel France pour l'Assistance Utilisateur Microsoft"JFB"
a écrit dans le message de news:
037001c33eef$c5cf9f50$,

Je souhaite bloquer la fonction enregistrer et enregistrer
sous sur un excel 2000.

éventuellment avec un mot de passe)

Est-ce possible

Merci pour les réponses
JFB
Avatar
AV
Essaye ça dans le module de Thisworkbook :

Private Sub Workbook_Open()
With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled False
.OnKey "^+{s}", ""
End With
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.OnKey "^+{s}"
End Sub

AV

"JFB" a écrit dans le message news:
037001c33eef$c5cf9f50$
Bonjour,

Je souhaite bloquer la fonction enregistrer et enregistrer
sous sur un excel 2000.

éventuellment avec un mot de passe)

Est-ce possible

Merci pour les réponses
JFB
Avatar
AV
Un malheureux copier/coller d'un mauvais tronçon : le "Workbook_SheetChange" n'a
rien à faire là-dedans !

Rebelote :
Private Sub Workbook_Open()
With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled = False
.OnKey "^+{s}", ""
End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled = true
.OnKey "^+{s}"
End With
End Sub

AV
Avatar
michdenis
Bonjour AV,

L'usager pourra toujours récupérer la commande par un double-clic dans la zone des barres d'outils, onglet commande. Non ?

;-)


Salutations!


"AV" a écrit dans le message de news:%
Un malheureux copier/coller d'un mauvais tronçon : le "Workbook_SheetChange" n'a
rien à faire là-dedans !

Rebelote :
Private Sub Workbook_Open()
With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled = False
.OnKey "^+{s}", ""
End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled = true
.OnKey "^+{s}"
End With
End Sub

AV
Avatar
AV
L'usager pourra toujours récupérer la commande par un double-clic dans la zone
des barres d'outils, onglet commande. Non ?


Ben surement.... mais bon, en fonction du niveau de l'utilisateur ça peut
suffire....
Si en plus il nous fait un shift à l'ouverture du fichier nous voilà partis dans
des trucs pas possibles !

;-)
AV

Avatar
michdenis
Bonjour AV,

Dans ce cas, il faudrait aussi désactiver la touche F12 !
Accessible par erreur au débutant !!! ;-)))


Salutations!



"AV" a écrit dans le message de news:%23xzvf$
L'usager pourra toujours récupérer la commande par un double-clic dans la zone
des barres d'outils, onglet commande. Non ?


Ben surement.... mais bon, en fonction du niveau de l'utilisateur ça peut
suffire....
Si en plus il nous fait un shift à l'ouverture du fichier nous voilà partis dans
des trucs pas possibles !

;-)
AV

Avatar
AV
Dans ce cas, il faudrait aussi désactiver la touche F12 !
Accessible par erreur au débutant !!! ;-)))


D'ailleurs je propose comme mesure radicale : Iinterdire l'accès des postes aux
utilisateurs !
Que de temps gagné pour les bidouilleurs !

;-)
AV

Avatar
JFB
Bonjour,

Je vais tester ta solution,
Mais comment accèdes-t-on au module Thisworkbook ?

Merci pour ta réponse
JFB
-----Message d'origine-----
Essaye ça dans le module de Thisworkbook :

Private Sub Workbook_Open()
With Application
.CommandBars(1).Controls(1).Controls
("&Enregistrer sous...").Enabled =

False
.OnKey "^+{s}", ""
End With
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object,
ByVal Target As Range)

Application.OnKey "^+{s}"
End Sub

AV

"JFB" a écrit dans le message
news:

037001c33eef$c5cf9f50$
Bonjour,

Je souhaite bloquer la fonction enregistrer et enregistrer
sous sur un excel 2000.

éventuellment avec un mot de passe)

Est-ce possible

Merci pour les réponses
JFB


.



Avatar
michdenis
Bonjour JFB,

Tu as un exemple du fichier exemple dans ta bal.


Salutations!


"JFB" a écrit dans le message de news:2e3c01c33fa1$22d6e8a0$
Bonjour,

Je vais tester ta solution,
Mais comment accèdes-t-on au module Thisworkbook ?

Merci pour ta réponse
JFB
-----Message d'origine-----
Essaye ça dans le module de Thisworkbook :

Private Sub Workbook_Open()
With Application
.CommandBars(1).Controls(1).Controls
("&Enregistrer sous...").Enabled >False

.OnKey "^+{s}", ""
End With
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object,
ByVal Target As Range)

Application.OnKey "^+{s}"
End Sub

AV

"JFB" a écrit dans le message
news:

037001c33eef$c5cf9f50$
Bonjour,

Je souhaite bloquer la fonction enregistrer et enregistrer
sous sur un excel 2000.

éventuellment avec un mot de passe)

Est-ce possible

Merci pour les réponses
JFB


.