Comment désactiver ou ne pas autoriser les options Enregistrer et Enregistrer sous dans Excel ?
Normalement, lorsque nous cliquons sur la fonction Enregistrer ou Enregistrer sous, nos données modifiées dans le classeur sont enregistrées immédiatement. Cependant, parfois, votre fichier Excel ne doit pas être modifié et enregistré par d'autres utilisateurs lorsqu'ils lisent le fichier. Cet article fournit une méthode VBA pour désactiver les options Enregistrer et Enregistrer sous dans Excel.
Désactiver les options Enregistrer et Enregistrer sous avec du code VBA
Désactiver les options Enregistrer et Enregistrer sous avec du code VBA
Vous pouvez exécuter le code VBA ci-dessous pour désactiver les options Enregistrer et Enregistrer sous dans Excel.
1. Dans le classeur où vous devez désactiver les fonctions Enregistrer et Enregistrer sous, appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, double-cliquez sur ThisWorkbook dans la barre de gauche, copiez et collez le code VBA 1 ci-dessous dans la fenêtre Code, puis cliquez sur le bouton Enregistrer. Voir capture d'écran :
VBA 1 : désactiver les options Enregistrer et Enregistrer sous dans Excel
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub
3. Dans la fenêtre Enregistrer sous qui s'ouvre, sélectionnez un dossier pour enregistrer le classeur, nommez le classeur comme vous le souhaitez et choisissez Classeur Excel prenant en charge les macros dans la liste déroulante Spécifier le format d'enregistrement, puis cliquez finalement sur le bouton Enregistrer.
4. Maintenant, copiez et collez le code VBA 2 ci-dessous dans la fenêtre de code ThisWorkbook. Voir capture d'écran.
VBA 2 : désactiver les options Enregistrer et Enregistrer sous dans Excel
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim xName As String
xName = "CancelBeforeSave"
If Not Evaluate("=ISREF('" & xName & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.count)).Name = xName & ""
Sheets(xName & "").Move after:=Worksheets(Worksheets.count)
Sheets(xName & "").Visible = False
Exit Sub
End If
Cancel = True
End Sub
5. Cliquez sur le bouton Enregistrer pour sauvegarder le code, puis fermez le classeur.
Le classeur a été enregistré en tant que Classeur Excel prenant en charge les macros avec les fonctions Enregistrer et Enregistrer sous désactivées.
Remarque : Il semble que des modifications soient enregistrées dans la feuille de calcul actuelle chaque fois que vous modifiez et enregistrez le classeur. Mais après avoir fermé et rouvert le classeur, vous constaterez que les modifications n'ont pas pu être enregistrées.

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!