XL 2013 me prévenir si ma feuille est déprotégée

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me re-voilou avec un nouveau souci (ou plutôt un ancien qui persiste).

Je me permets de faire à nouveau appel à vous :)

En fait, c'est le sujet suivant : https://www.excel-downloads.com/threads/créer-une-alerte-si-la-feuille-nest-pas-protégée.20025881/ - Qui m'incite à poser ma question maintenant car il est proche de mon souci ainsi que la solution de Philippe (phlaurent55) mais pas tout à fait.

Voici mon petit exposé
J'ai dans mon fichier de travail une feuille qui contient beaucoup de cellules (lignes et colonnes)
et avec beaucoup de codes d'exécution (dans la feuille)
Après exécution de chaque code, cette feuille doit être en permanence protégée.

Je n'ai pas encore trouvé pourquoi mais il arrive que la feuille se trouve "déprotégée" et souvent la raison en est la désactivation des macros
Cela pose de gros problèmes ensuite dans le fonctionnement de cette feuille.

J'en viens à ma demande
Serait-il possible qu'un code permette de détecter si la feuille est "déprotégée" et si c'est le cas,
il pourrait y avoir un msgbox genre "votre feuille est déprotégée cliquez ICI"

Je joins le fichier test de Philippe.

Avec mes remerciements aux habitants d'un nouveau pays chaud et bientôt tropical :p
Je vous souhaite une belle journée,
Amicalement,
arthour973,
 

Pièces jointes

  • 111.xlsm
    35 KB · Affichages: 36
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Bonjour à vous qui m'avez répondu si gentiment et que j'ai abandonné sans le vouloir.
En effet, contrairement à ce que je pensais, j'ai un retour de souci de santé.
ça va mieux ce matin et j'en profite pour vous présenter toutes mes excuses à vous tous qui m'avez répondu si rapidement.

J'suis encore un peu dans le brouillard mais j'ai pu lire tous vos messages.

Effectivement, il y a bien longtemps déjà Job75 m'avais dit que mon truc était certainement une usine à gaz.
Si usine à gaz signifie que je ne maîtrise plus bien les codes c'est tout à fait vrai.

Il faudrait que je puisse me poser et tout "refaire"

Mais JOB75 a bien compris mon souci ( en partie LOL) : "Le sujet de ce fil c'est la détection d'un évènement (la déprotection d'une feuille)."
En fait, mes codes de feuilles sont "bardés" de : Application.EnableEvents = False et True

N'étant pas un Vébéisque digne de ce nom, et je ne maîtrise pas du tout. :confused:

Il peut arriver que l'utilisateur fasse une manip qui plante mes codes (a un endroit inconnu) et on se retrouve avec les codes désactivé

J'ai remarqué que généralement, quand un problème se pose, la désactivation des codes va souvent de paire avec la dé protection de la feuille qui n'est pas re protégée si une fausse manip stoppe ou plante le code avant qu'il ait terminé son exécution.

Dans ce cas, le code n'étant pas allé jusqu'au bout, la feuille n'est pas re protégées et le Application.EnableEvents = True n'a pas été exécuté.

Voilà ce qui arrive quand un petit veut jouer dans la cour des grands LOL.

En fait, et-t-il possible qu'un code permette de prévenir par un msgbox si un code en exécution ne va pas jusqu'à sa finalité ?

Vraiment un grand merci à tous :)

Amicalement,
arthour973,
 
Dernière édition:

eriiic

XLDnaute Barbatruc
Bonjour,

avec les précisions adéquates la solution est simple.
Protège tes feuilles par macro à l'ouverture avec le paramètre UserInterfaceOnly = True.
Seul l'utilisateur est bloqué, pas tes macros. Plus besoin de déprotéger tes feuilles.

Pour les On Error il ne doit rester que ceux qui attendus et 'normaux', et gérés si besoin.
Tous les autres il faut analyser le pourquoi et y remédier.
eric
 
Dernière édition:

Discussions similaires