![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2005
Messages: 69
|
Bonjour j'ai un fichier que je désire faire enrgistrer uniquement à l'aide d'un bouton qui lance une macro de type saveas.
j'ai essayé d'adapter le code suivant récupéré sur la forum mais ca ne marche pas. Mon adaptation fonctionne pour un opération manuelle ( clic sur icone ou enregistrer sous du menu mais pas en faisant appel à la fonction saveas qui est alors considérée comme un 'enregistrer'. Merci de votre aide. INTERDIRE ENREGISTRER SOUS. De : _Thierry sur Excel-Downloads. Code à mettre dans le Private Module de 'ThisWorkBook' Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' SaveAsUI est VRAI si on vient de Fichier / Enregistrer sous ' et FAUX si on vient de Fichier / Enregistrer ' si on met Cancel à VRAI, l'enregistrement n'a pas lieu If SaveAsUI = True Then MsgBox 'Le changement de nom est interdit !', vbExclamation + vbOKOnly, 'Attention' Cancel = True End If End Sub |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2006
Localisation: Bois Guillaume (76)
Messages: 2 033
|
Bonjour
Si j'ai bien compris, ta fonction doit faire l'inverse du code de thierry plus simplement cela s'appelle sous l'explorateur : clic droit sur fichier propriétés lecture seule A+
__________________
A+ Pas à pas se fait notre chemin. Pas à pas.. |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2006
Localisation: Bois Guillaume (76)
Messages: 2 033
|
re
je pense que j'ai lu un peu vite, je passais juste devant l'ordinateur.... si tu n veux pas lerenommer utiliser save et non saveas A+
__________________
A+ Pas à pas se fait notre chemin. Pas à pas.. |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2005
Messages: 69
|
Effectivement la lecture seule par l'explorateur est une bonne solution mais j'aurais souhaité integrer cette lecture seule à l'ouverture du fichier.
Merci de ton aide. |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2006
Localisation: Bois Guillaume (76)
Messages: 2 033
|
re
donc tu voudrais n'autoriser l'enregistrement que si le nom change ? j'avoue que j'ai du mal à comprendre ton fil car tu commences enparlant de saveas et ensuite tu donnes un exemple qui interdit l echangement de nom Que veux-tu ?
__________________
A+ Pas à pas se fait notre chemin. Pas à pas.. |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2005
Messages: 69
|
Je vais essayer d'être plus clair.
Ce fichier sert à saisir des données qui sont récupérées dans une macro pour se rajouter au nom du fichier lors de l'enregistrement via un bouton macro ( le fameux saveas ). La récupération de ces données étant obligatoire le fichier doit être sauvegardé que par l'utilisation du bouton macro et en aucun cas par les menus 'enregistrer' ou 'enregistrer sous' qui ne permettent pas de récupérer les données stockées dans les variables de ma macro. j'espère avoir été plus clair cette fois. Merci encore pour ton aide. |
|
|
|
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
Bonjour à tous
Pour le enregistrer sous la personne pourra toujours enregistrer sous en remplacent le classeur actuel. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show End Sub Pour empêcher cela tu devras y automatisé une sauvegarde dans si tu la veut on peut te la faire)Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) inputbox ....sous quel nom voulez-vous sauvegarder? ActiveWorkbook.SaveAs Filename:= _ 'ton chemin\\input & .xls', FileFormat:= _ xlNormal, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub Pour lecture seul regarde le zip (code 1234) A+ Temjeh [img size=60]http://pages.videotron.com/temjeh/logo/7.gif[/img] [file name=Lecture_seule.zip size=15780]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Lecture_seule.zip[/file] |
|
|
|
#8 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2005
Messages: 69
|
Le fichier zippé de thierry est protégé par un mot de passe.
La solution serait peut être d'interdire toute commande via les menus au profit de la commande macro. J'avais aussi pensé masquer les commandes du menu mais à ce moment là celui qui a saisi les données ne peut plus quitter excel. je craque un peu ! Merci à tous |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Junior
Date d'inscription: mai 2005
Messages: 69
|
Finalement la solution était très simple :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Call enreg Exit Sub enreg étant ma macro qui récupère les données dans les variables. Si l'utilisateur clique sur enregistrer il chaine directement sur la macro qui prend en compte les paramètres. C'est pas totalement béton mais c'est un grand pas. |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|