J'aimerais affecter une macro à une case à cocher.
Lorsque celle-ci est cochée il faudrait que la macro empeche toute
modification du contenu de toutes les feuilles du fichier (pas de
modification manuelle possible et bloquage de toutes les macros) et le
signale à l'utilisateur par un MsgBox.
Je désire en fait pouvoir figer mon fichier à un instant donné et
l'enregistrer ainsi.
En decochant la case on permet bien sur a nouveau la reprise des
modifications et les calculs par macros...
Quelqu'un aurait-il la gentillesse de m'aider à l'écrire ?
Merci d'avance et bonne soiree.
Pierre.M
> Bonjour.
> C'est quasiment mission impossible :
> 1. parce que, si les macros ne sont pas activées, le fait de cocher la
> case sera inopérant.
Oui, évidemment. J'aurais pu y penser...
Est-il alors envisageable d'interdire l'enregistrement si cochée (avec
une alerte) ?
Ca figerait bien mon fichier dans l'etat jusqu'a une eventuelle decoche, non?
> 2. Parce que tu ne peux pas empêcher l'exécution d'une macro d'un autre
> classeur, laquelle fera toutes les modifications qu'elle voudra.
OK, mais ce n'est pas prévu, donc pas de risques de ce cote-la.
>> 2. Parce que tu ne peux pas empêcher l'exécution d'une macro d'un autre
>> classeur, laquelle fera toutes les modifications qu'elle voudra.
>
> OK, mais ce n'est pas prévu, donc pas de risques de ce cote-la.
>
C'est toi qui vois...
Daniel
Malgré mon adhesion première à ce que dit Daniel, une solution de
contournement un peu lourdingue peut-être ets qui ne s'appliquera qu'aux
procèdures internes à ton classeur, à adapter voici l'idée:
'dans Module1 tout en haut
Public CodeActif as Boolean
'au début de toutes tes macros du classeur sauf celle attachée au checkbox
If Not CodeActif then Exit sub
'dans la macro appelée par le checkbox outre le protect de ton choix mettre
in fine
CodeActif= Not CheckBox1
'--
'LSteph
"Pierre.M" a écrit dans le message de
news:4d00faaf$0$7717$ba4a...@reader.news.orange.fr...
>> On 2010-12-09 18:28:09 +0100, DanielCo <dcolard...@free.fr> said:
>>
>>> Bonjour.
>>> C'est quasiment mission impossible :
>>> 1. parce que, si les macros ne sont pas activées, le fait de cocher la
>>> case sera inopérant.
>>
>> Oui, évidemment. J'aurais pu y penser...
>> Est-il alors envisageable d'interdire l'enregistrement si cochée (avec
>> une alerte) ?
>> Ca figerait bien mon fichier dans l'etat jusqu'a une eventuelle decoche, non?
>>
> Oui, si le classeur a un mot de passe pour la modification... encore
> qu'il soit possible de l'enregistrer sous un autre nom, de supprimer
> l'original et de renommer la copie
Pas de risque non plus...
Bon, je suis arrive a mes fins, mais il me reste un petit souci.
Est-il possible de proteger une feuille contre toute modification
manuelle et d'autoriser en meme temps le remplissage de cette feuille
par des macros du classeur ?
Encore merci beaucoup pour ton aide et bon après-midi.
> Oui, dans la méthode "protect", il y a une propriété
> "userinterfaceonly" qui interdit la modification manuelle et ne permet
> que la modification par macro.
> Daniel
Super ! Ce qu'il me fallait !
Merci encore et bon weekend.
Pierre