OVH Cloud OVH Cloud

Protection de fichier

9 réponses
Avatar
ThierryP
Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur le
nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableevents=false).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave ne
s'exécute pas donc je ne peux pas forcer la fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

9 réponses

Avatar
rems
Bonjour,
pour faire croire à excel qu'il a enregistrer le fichier tu fait :

thisworkbook.saved=true
et excel ne demande pas d'enregistrer et surtout il n'enregistre pas

Cordialement.
Rems

"ThierryP" a écrit dans le message de
news: %
Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur le
nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave ne
s'exécute pas donc je ne peux pas forcer la fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline


Avatar
Ange Ounis
Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur le
nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave ne
s'exécute pas donc je ne peux pas forcer la fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!


Avatar
Thierryp
Bonjour rems,

Cà, c'est OK...Le problème c'est que cette instruction se place souvent
dans un Workbook_beforeclose, encore faut-il que les macros
évènementielles soient activées, ....ce qui n'est pas le cas pour mon
appli :-((((((((((((

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Bonjour,
pour faire croire à excel qu'il a enregistrer le fichier tu fait :

thisworkbook.saved=true
et excel ne demande pas d'enregistrer et surtout il n'enregistre pas

Cordialement.
Rems

"ThierryP" a écrit dans le message de
news: %
Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur le
nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave ne
s'exécute pas donc je ne peux pas forcer la fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline






Avatar
Thierryp
Bonjour Ange Ounis,

Mon souci, c'est que j'ai des procs évènementielles sur différentes
pages...et j'aurais voulu éviter de tester à chaque évènement si
l'utilisateur est autorisé ou non. Je crains d'alourdir le code et la
vitesse d'exécution, mais si il n'y a pas d'autre solution .....

en tous cas merci

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur
le nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave ne
s'exécute pas donc je ne peux pas forcer la fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!




Avatar
Ange Ounis
Ne pourrais-tu pas utiliser les procédures de feuille du module ThisWorkbook
(elle prenne en paramètre la feuille "appelante") ?

----------
Ange Ounis
----------


Bonjour Ange Ounis,

Mon souci, c'est que j'ai des procs évènementielles sur différentes
pages...et j'aurais voulu éviter de tester à chaque évènement si
l'utilisateur est autorisé ou non. Je crains d'alourdir le code et la
vitesse d'exécution, mais si il n'y a pas d'autre solution .....

en tous cas merci

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur
le nom de l'utilisateur et si celui-ci ne fait pas partie de la liste
autorisée, je désactive les macros (application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave
ne s'exécute pas donc je ne peux pas forcer la fermeture sans
sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment faire

Merci d'avance !!






Avatar
Thierryp
Bonjour,
Re-Merci !! Je vais creuser de ce côté...Mes connaissances étant plus
empiriques qu' exhaustives, mes lacunes sont quelquefois plus vastes que
l'appartement de Gaymard....

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Ne pourrais-tu pas utiliser les procédures de feuille du module
ThisWorkbook (elle prenne en paramètre la feuille "appelante") ?

----------
Ange Ounis
----------


Bonjour Ange Ounis,

Mon souci, c'est que j'ai des procs évènementielles sur différentes
pages...et j'aurais voulu éviter de tester à chaque évènement si
l'utilisateur est autorisé ou non. Je crains d'alourdir le code et la
vitesse d'exécution, mais si il n'y a pas d'autre solution .....

en tous cas merci

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test sur
le nom de l'utilisateur et si celui-ci ne fait pas partie de la
liste autorisée, je désactive les macros
(application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave
ne s'exécute pas donc je ne peux pas forcer la fermeture sans
sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment
faire

Merci d'avance !!








Avatar
Ange Ounis
mais ça te coûte moins cher qu'à lui de les "aménager" :)

----------
Ange Ounis
----------


Bonjour,
Re-Merci !! Je vais creuser de ce côté...Mes connaissances étant plus
empiriques qu' exhaustives, mes lacunes sont quelquefois plus vastes que
l'appartement de Gaymard....

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Ne pourrais-tu pas utiliser les procédures de feuille du module
ThisWorkbook (elle prenne en paramètre la feuille "appelante") ?

----------
Ange Ounis
----------


Bonjour Ange Ounis,

Mon souci, c'est que j'ai des procs évènementielles sur différentes
pages...et j'aurais voulu éviter de tester à chaque évènement si
l'utilisateur est autorisé ou non. Je crains d'alourdir le code et la
vitesse d'exécution, mais si il n'y a pas d'autre solution .....

en tous cas merci

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test
sur le nom de l'utilisateur et si celui-ci ne fait pas partie de la
liste autorisée, je désactive les macros
(application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro BeforeSave
ne s'exécute pas donc je ne peux pas forcer la fermeture sans
sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment
faire

Merci d'avance !!










Avatar
Fredo P.
--
Mon E-mail, c'est sans voyelle avant l'@.
"Ange Ounis" a écrit dans le message de
news:
mais ça te coûte moins cher qu'à lui de les "aménager" :)

----------
Qu'à lui, qu'à Nous aurrait été Oh! combien plus juste!


Avatar
Thierryp
Bonjour,
:-))))))))))))

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

mais ça te coûte moins cher qu'à lui de les "aménager" :)

----------
Ange Ounis
----------


Bonjour,
Re-Merci !! Je vais creuser de ce côté...Mes connaissances étant plus
empiriques qu' exhaustives, mes lacunes sont quelquefois plus vastes
que l'appartement de Gaymard....

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Ne pourrais-tu pas utiliser les procédures de feuille du module
ThisWorkbook (elle prenne en paramètre la feuille "appelante") ?

----------
Ange Ounis
----------


Bonjour Ange Ounis,

Mon souci, c'est que j'ai des procs évènementielles sur différentes
pages...et j'aurais voulu éviter de tester à chaque évènement si
l'utilisateur est autorisé ou non. Je crains d'alourdir le code et
la vitesse d'exécution, mais si il n'y a pas d'autre solution .....

en tous cas merci

@+ thierryp

------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------

Au lieu de désactiver les macros, mets fin à la procédure :

If PasAutorisé Then Exit Sub

(en première instruction de tes macros).

----------
Ange Ounis
----------

Bonjour tout le monde,

Dans un fichier utilisé par plusieurs personnes, je fais un test
sur le nom de l'utilisateur et si celui-ci ne fait pas partie de
la liste autorisée, je désactive les macros
(application.enableeventsúlse).

Si l'utilisateur modifie le fichier, évidemment la macro
BeforeSave ne s'exécute pas donc je ne peux pas forcer la
fermeture sans sauvegarde...

Ca se mord un peu la queue tout çà, et je ne vois pas trop comment
faire

Merci d'avance !!