Excel : menu "fichier" bloqué par macro

Fermé
Sweetpatapouf - 16 août 2010 à 14:14
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 - 16 août 2010 à 18:09
Bonjour,

Au secours! en voulant utiliser une macro pour bloquer l'enregistrement d'un fichier excel, j'ai appliqué dans ThisWirkbook la macro suivante:

Sub empecheEnr()

With Application.CommandBars("Standard")
.Controls("Enre&gistrer").Enabled = False
End With
With Application.CommandBars("Worksheet Menu Bar")
.Controls("Fichier").Enabled = False
End With

'desactive le raccourci clavier Ctrl+S
Application.OnKey "^s", ""

End Sub

Mon soucis c'est qu'elle me bloque le menu déroulant "Fichier", sur tous mes classeurs excel. J'ai tenté le

Application.CommandBars("Worksheet Menu Bar")
.Controls("Fichier").Enabled = True

Puis la suppression du fichier où j'avais mis cette macro.

Résultat, tous mes classeurs excel ne veulent pas me donner l'acces au menu fichier... Quelqu'un peut il me donner la solution pour rétablir l'acces à ce menu?

Merci d'avance de m'aider,
vous êtes mon seul espoir, Obiwan Kenobi!

A voir également:

1 réponse

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
Modifié par Mytå le 16/08/2010 à 19:58
Salut le forum

Copie le code de la macro dans un module et lance-le.

Sub PermettreEnr() 

With Application.CommandBars("Standard") 
.Controls("Enre&gistrer").Enabled = True 
End With 
With Application.CommandBars("Worksheet Menu Bar") 
.Controls("Fichier").Enabled = True 
End With 

'Réactive le raccourci clavier Ctrl+S 
Application.OnKey "^s" 

End Sub 

Il faut faire attention avec des manipulations sur les Application.CommandBars.

C'est comme être un apprenti-sorcier, qui lance un sort sans en connaitre les conséquences.

Une simple macro dans ThisWorkbook, fait le même travail.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox ("Vous n'avez pas le droit d'enregister ce fichier")
End Sub

C'est beaucoup moins risqué que ta macro.

Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
0