Bonjour à tous,

J'ai longtemps cherché la solution mais en vain en espérant que quelqu'un puisse m'aider ici...Voici mon idée :

A l'ouverture de mon fichier Excel je veux que le menu "Ficher -> enregistrer sous" et "Fichier -> enregistrer" soient grisés. Je veux aussi désactiver la combinaison de touches Ctrl + S afin de désactiver l'enregistrement. A la fermeture de mon fichier réactiver tout ça.
Voici le code que j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Workbook_Open()
With CommandBars(Menu Bar)
Application.CommandBars(1).Enabled = True
.Controls(1).Controls(4).Enabled = False
.Controls(1).Controls(5).Enabled = False
End With
Application.OnKey "^s", ""
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With CommandBars("Menu Bar")
Application.CommandBars(1).Enabled = True
.Controls(1).Controls(4).Enabled = True
.Controls(1).Controls(5).Enabled = True
End With
Application.OnKey "^s"
End Sub
Le programme bug à la commande "With CommandBars(Menu Bar)" et génère l'erreur suivante : erreur d'exécution '91' : Variable objet ou Variable de bloc "with" non définie

Je vous remercie d'avance.