Empêcher d'enregistrer ?

Le
Patrick24
Bonjour,
J'aimerai empêcher l'enregistrement de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Essart
Le #20305531
Bonjour,

Ce que je te proposerais de faire, c'est de créer dans un module une
procédure (avec accès par raccourci comme CTRL W...)
où les macros événementielles seraient temporairement désactivées ... tel :

Sub enregistrement()
' Touche de raccourci du clavier: Ctrl+w par ex
Application.EnableEvents = False
' pour un "Enregistrer sous"
ActiveWorkbook.SaveAs
Filename:="C:Documents and
SettingsUtilisateur_du_PCBureauMon_Classeur.xls", _
' à adapter
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
' ou ActiveWorkbook.Save pour un simple enregistrement
Application.EnableEvents = True
End Sub

Essart

"Patrick24" %
Bonjour,
J'aimerai empêcher l'enregistrement de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24


LSteph
Le #20307111
Bonjour,

1-Oui fonctionne mais tel que:
-cela n'empêchera pas depuis l'explorateur de renommer, copier ou
déplacer le fichier
-s'agissant d'un "modèle" si c'est bien le bon sens du terme
(fichier .xlt )
les classeurs générés renfermeront le même code, donc accuseront la
même disposition.

2-par ailleurs (ce qui répond à la question mais compromet un peu ton
objectif)
-ceux qui voudraient contourner aussi la mesure envisagée
soit tout simplement désactiver les macros
soit depuis une macro quelconque:

Application.enableeventsúlse
activeworkbook.saveas "cghjfgh.xls"
Application.enableevents=true

--
lSteph



On 6 oct, 20:29, "Patrick24"
Bonjour,
J'aimerai empêcher l'enregistrement  de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
 If SaveAsUI = True Then Cancel = True  ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais l e
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24


michdenis
Le #20307101
Bonjour Patrick,

Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche pas
d'y inscrire ta macro et d'enregistrer ton fichier... non ?



"Patrick24" #
Bonjour,
J'aimerai empêcher l'enregistrement de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24
Essart
Le #20307471
Bonjour MichDenis,

remarque plus que pertinente !

:-(

Essart

"michdenis"
Bonjour Patrick,

Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche pas
d'y inscrire ta macro et d'enregistrer ton fichier... non ?



"Patrick24" discussion :
#
Bonjour,
J'aimerai empêcher l'enregistrement de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24



LSteph
Le #20307741
;o)) autre remarque pertinente ou pas
C'est ce que je venais de dire!!
soit tout simplement désactiver les macros



--
lSteph

On 7 oct, 13:41, "Essart"
Bonjour MichDenis,

remarque plus que pertinente !

:-(

Essart

"michdenis"



> Bonjour Patrick,

> Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche p as
> d'y inscrire ta macro et d'enregistrer ton fichier... non ?

> "Patrick24" > discussion :
> #
> Bonjour,
> J'aimerai empêcher l'enregistrement  de mon modèle
> J'ai essayé :
> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
> Boolean)
> ' empêche d'enregistrer-sous
> If SaveAsUI = True Then Cancel = True  ' fonctionne très bien
> ' et j'ai essayé :
> Cancel = True
> ' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
> problème c'est que je ne peux même pas enregistrer la macro pour la
> sauvegarder !
> End Sub

> Comment je dois faire ?
> Merci de votre aide.
> Patrick24- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


LSteph
Le #20307721
C'est bien ce que je disais si tu relis ce n'est pas cela le pire!

;o))

On 7 oct, 12:37, "michdenis"
Bonjour Patrick,

Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche pas
d'y inscrire ta macro et d'enregistrer ton fichier... non ?

"Patrick24" #
Bonjour,
J'aimerai empêcher l'enregistrement  de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
 If SaveAsUI = True Then Cancel = True  ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais l e
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24


michdenis
Le #20308061
Votre honneur,
Je ne suis coupable de rien, je n'ai rien demandé...

à l'égard de la proposition que j'ai faite, la mienne est supérieur !
car plus compréhensible que la tienne !!! Lorsque tu écris :
"soit tout simplement désactiver les macros", toi, tu sais de
quoi tu parles mais ce n'est pas nécessairement évident pour
celui qui n'a pas tes compétences en Excel.

Vous comprendrez votre honneur que ce n'est pas parce que l'on
est traduit devant les tribunaux que l'on connaît nécessairement le jargon juridique!
;-)



"LSteph"
C'est bien ce que je disais si tu relis ce n'est pas cela le pire!

;o))

On 7 oct, 12:37, "michdenis"
Bonjour Patrick,

Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche pas
d'y inscrire ta macro et d'enregistrer ton fichier... non ?

"Patrick24" #
Bonjour,
J'aimerai empêcher l'enregistrement de mon modèle
J'ai essayé :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?
Merci de votre aide.
Patrick24


LSteph
Le #20308351
;-) bon bon je m'incline sur ce point que vous dites fort bien mieux
mais me semble primordial (avec explicitations plus nourries)
de souligner les deux autres points bien plus épineux:

1- si on enregistre un modèle
qui ne doit pas changer, ce même modèle va générer un fichier qui
comprendra aussi cette empêchement d'enregistrer sous
Est-ce bien ce que l'on veut?

2-Connaissant le simple fait
"soit tout simplement désactiver les macros",


c'est aussi ce que peut faire l'utilisateur.
Est-ce bien ce que l'on veut?

Non est culpa, ti absolvo (qui dirait)
:o)

--
lSteph

On 7 oct, 14:30, "michdenis"
Votre honneur,
Je ne suis coupable de rien, je n'ai rien demandé...

à l'égard de la proposition que j'ai faite, la mienne est supérieur !
car plus compréhensible que la tienne !!! Lorsque tu écris :
"soit tout simplement désactiver les macros", toi, tu sais de
quoi tu parles mais ce n'est pas nécessairement évident pour
celui qui n'a pas tes compétences en Excel.

Vous comprendrez votre honneur que ce n'est pas parce que l'on
est traduit devant les tribunaux que l'on connaît nécessairement le j argon juridique!
;-)

"LSteph"
C'est bien ce que je disais si tu relis ce n'est pas cela le pire!

;o))

On 7 oct, 12:37, "michdenis"


> Bonjour Patrick,

> Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche p as
> d'y inscrire ta macro et d'enregistrer ton fichier... non ?

> "Patrick24" > #
> Bonjour,
> J'aimerai empêcher l'enregistrement  de mon modèle
> J'ai essayé :
> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
> Boolean)
> ' empêche d'enregistrer-sous
>  If SaveAsUI = True Then Cancel = True  ' fonctionne très bie n
> ' et j'ai essayé :
> Cancel = True
> ' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
> problème c'est que je ne peux même pas enregistrer la macro pour la
> sauvegarder !
> End Sub

> Comment je dois faire ?
> Merci de votre aide.
> Patrick24- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


michdenis
Le #20308421
Je ne répondais qu'à la problématique du demandeur
quant à la sauvegarde de la procédure qu'on lui avait
suggérée.

Si cette approche lui convient, il est possible de faire
disparaître la procédure du ThisWorkbook dès que le
fichier modèle s'ouvre la première fois pour engendrer
un fichier "fils".
Je compte sur toi pour lui suggérer comment faire !
;-)


"LSteph"
;-) bon bon je m'incline sur ce point que vous dites fort bien mieux
mais me semble primordial (avec explicitations plus nourries)
de souligner les deux autres points bien plus épineux:

1- si on enregistre un modèle
qui ne doit pas changer, ce même modèle va générer un fichier qui
comprendra aussi cette empêchement d'enregistrer sous
Est-ce bien ce que l'on veut?

2-Connaissant le simple fait
"soit tout simplement désactiver les macros",


c'est aussi ce que peut faire l'utilisateur.
Est-ce bien ce que l'on veut?

Non est culpa, ti absolvo (qui dirait)
:o)

--
lSteph

On 7 oct, 14:30, "michdenis"
Votre honneur,
Je ne suis coupable de rien, je n'ai rien demandé...

à l'égard de la proposition que j'ai faite, la mienne est supérieur !
car plus compréhensible que la tienne !!! Lorsque tu écris :
"soit tout simplement désactiver les macros", toi, tu sais de
quoi tu parles mais ce n'est pas nécessairement évident pour
celui qui n'a pas tes compétences en Excel.

Vous comprendrez votre honneur que ce n'est pas parce que l'on
est traduit devant les tribunaux que l'on connaît nécessairement le jargon juridique!
;-)

"LSteph"
C'est bien ce que je disais si tu relis ce n'est pas cela le pire!

;o))

On 7 oct, 12:37, "michdenis"


> Bonjour Patrick,

> Si tu ouvres ton fichier sans activer les macros, cela ne t'empêche pas
> d'y inscrire ta macro et d'enregistrer ton fichier... non ?

> "Patrick24" > #
> Bonjour,
> J'aimerai empêcher l'enregistrement de mon modèle
> J'ai essayé :
> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
> Boolean)
> ' empêche d'enregistrer-sous
> If SaveAsUI = True Then Cancel = True ' fonctionne très bien
> ' et j'ai essayé :
> Cancel = True
> ' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
> problème c'est que je ne peux même pas enregistrer la macro pour la
> sauvegarder !
> End Sub

> Comment je dois faire ?
> Merci de votre aide.
> Patrick24- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Caetera
Le #20308551
"Patrick24" %

J'aimerai empêcher l'enregistrement de mon modèle


:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' empêche d'enregistrer-sous
If SaveAsUI = True Then Cancel = True ' fonctionne très bien
' et j'ai essayé :
Cancel = True
' la effectivement je ne peux plus enregistrer et enregistrer-sous mais le
problème c'est que je ne peux même pas enregistrer la macro pour la
sauvegarder !
End Sub

Comment je dois faire ?



******************

Et si tu conditionnais l'enregistrement à la saisie d'un mot de passe ?
Les grandes lignes :

Private Sub Workbook_BeforeSave(...)
lePasse
End sub

sub lePasse()
mdp=InputBox(...)
if mdp <> "xxxxxx" then end
end sub

Etc
Publicité
Poster une réponse
Anonyme