désactiver enregistrement...

  • Initiateur de la discussion Initiateur de la discussion nicolas
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicolas

Guest
Bonjour le forum,

je cherche à empecher l'enregistrement du fichier excel sur lequel je travaille depuis le menu "fichier" et l'icone "disquette".
Pour l'icone j'ai fait la manip suivante dans le thisworkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Standard").Visible = True

End Sub

Private Sub Workbook_Open()
Application.CommandBars("Standard").Visible = False


End Sub



Il me manque maintenant la petite macro pour désactiver les options "enregistrer" et "enregistrer sous"...
J'ai essayé la chose suivante :

sub auto_open()

with CommandeBars("Worksheet Menu Bar")
.Controls(1).Controls(4).enabled = false
.Controls(1).Controls(5).enabled = false
end with

end sub

mais ca marche pas...
Quelqu'un saurait-il m'aider???
merci davance
ps : excel 2000

a plus
koko
 
Bonjour Nicolas

Si vraiment tu ne veux pas sauver ton fichier, ni faire un SaveAs alors inutile de faire une usine à gaz de la sorte qui au pire risque de mettre la pagaille sur les configs de tes Users...

Ceci suffit amplement dans le Private Module ThisWorkBook :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox "Non Non on ne Sauve Pas, LOL"
End Sub

Bon App
@+Thierry
 
'lu Thierry,

ben en fait si, le fichier doit être sauvé et la sauvegarde du fichier doit se faire depuis un bouton auquel est affectée une macro d'enregistrement et de transfert de données vers un autre classeur.
C'est pour ca que je souhaite désactiver les fonctions d'enregistrement "classiques" qui ne permettent pas le transfert des données.
merci
 
'lu Nicolas !, 'lu le Forum ('ol <===== LOL Abrégé !!!)

Non, je comprends tes besoins et je persiste, sans faire d'usine à gaz en jouant (aléatoirement) avec les menus et autres commandbars, il suffit d'une ch'ti Boolean que l'on va nommer "SaveAuthorized" et elle fera l'affaire...

Dans un Module Standard : (en haut de celui-ci, en dehors de toute Sub)

Public SaveAuthorized As Boolean

Dans le Private Module de Feuille qui contient le commandButton d'enregistrement)

Private Sub CommandButton1_Click()
SaveAuthorized = True
ThisWorkbook.Save '(si on doit sauver le classeur à ce stade)
TaMacroTransfer '(soit tu appelles la macro soit tu place ta procédure ici)
SaveAuthorized = False 'on remet la boolean en verrou
End Sub

Dans le Private Module ThisWorkBook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAuthorized = True Then Exit Sub 'on sort si le "verrou" n'est pas locked sinon...
Cancel = True
MsgBox "Non Non on ne Sauve Pas, LOL"
End Sub


Voilà ce n'est pas plus compliqué que çà... Et aucun risque de laisser Excel "en désordre" une fois ton programme exécuté...

Bon Aprèm
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
182
Réponses
3
Affichages
300
Retour