désactiver l'enregistrement

D

Didier M

Guest
Dans un classeur Excel, je voudrais que l'utilisateur ne puisse pas enregistrer le classeur mais soit obligé "d'enregistrer sous" un autre nom.
Comment désactiver la fonction Fichier->Enregistrer
Didier
 
T

Thierry

Guest
Salut Didier,

Ben faut supprimer cette option des barre d'outils... du Menus et des raccourcis clavier (CTRL S)... Avec un code VBA à l'ouverture du fichier...

Soit plus simplement enregistrer le fichier en mode "ReadOnly" (Enregistrer sous / Bouton Outil à Droite / Puis option générales.... Lecture Seule recommandée... password ou pas password...

Soit aussi enregistrer le fichier orginal en XLT (modèles)...

Tu as le choix!
Bon Week End
@+Thierry
 
D

Didier M

Guest
Merci Thierry.
Mais quel code utiliser à l'ouverture du fichier pour
- désactiver l'icone Enregistrer ?
- désactiver les touches Ctrl S ?

Pour désactiver au menu, j'utilise :
Application.CommandBars("file").Controls(4).Enabled = False
ça a l'air de marcher.....


didier
 
T

Ti

Guest
Il me semble que cette solution soit un peu trop "radicale". Il est toujours risqué de supprimer ainsi une commande qui peut être par ailleurs nécessaire dans le même temps pour d'autres fichiers. Tu pourrais plutôt essayer d'utiliser une procédure événementielle before_save.

De toute façon, en obligeant l'utilisateur à passer par SaveAs, tu ne lui interdira pas de donner le même nom au fichier qu'il veut sauvegarder, tu te retrouves donc à ton point de départ.
 
M

Moa

Guest
Le code pour rendre inaccessible l'item Outils, Protection.
Sub InhibeOutilsProtection()
CommandBars(1).Controls(6).Controls(6).Enabled = False
End Sub


Le code pour rendre accessible l'item Outils, Protection.
Sub AfficheOutilsProtection()
CommandBars(1).Controls(6).Controls(6).Enabled = True
End Sub

Ce n'est pas de moi.

Il te suffit d'adapter selon le menu ou l'option menu que tu veux changer.

@ +

Moa
 
T

Thierry

Guest
Bonjour Didier, Ti et Moa, et le Forum

Je suis de l'avis de Ti, c'est très radical. L'enregistrement du fichier en ReadOnly devrait largement suffir...

Mais si tu veux vraiment vérouiller aussi les touches clavier pour CTRL S, la méthode "Onkey" le fait. (Voir l'aide).

Pour les "CommandBar" tu as déjà les réponses.

Bon Samedi (Pluvieux...ici)
@+Thierry
 
S

STéphane

Guest
bonjour

tu peux empêcher une désactivation de ces commandes à l'ouverture du classeur en question
dans une procédure workbook_open

mais pense à rétablir leur fonctionnement dans une procédure workbook_beforeclose


With Application
.CommandBars(1).Controls(1).Controls("&Enregistrer sous...").Enabled =
False
.OnKey "^{s}", ""

End With


il y a aussi les raccourcis F12 & Shift 12 à désactiver

bye
Stéphane
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 078
Messages
2 105 468
Membres
109 375
dernier inscrit
anderson2