Réactiver procédures évènementielles

loto

XLDnaute Occasionnel
Bonjour,

Je n'arrive pas à réactiver les procédures évènementielles automatiquement après les avoir bloquées :

J'ai créé un bouton pour les bloquer à la main temporairement (action sur le bouton et le message sur selectionchange s'arrête

Le truc, c'est que je souhaite les réactiver automatiquement et éviter d'avoir à réappuyer sur un autre bouton (fichier multi-utilisateurs : risque d'oubli ou permet de zapper tous les controles effectués dans les macros)

Je pensais donc écrire Application.EnableEvents = true à l'activation de
la feuille ou même à l'ouverture du classeur mais cela reste bloqué

Même l'activation automatique de la macro de déblocage (qui fonctionne par ailleurs à la main) de marche pas!

Sur mon exemple:
Sur la feuille test : msg sur selectionchange
Une fois le bouton cliqué, plus de msg
Et plus jamais de message même sur activation de feuille
Comment faire?


merci pour votre aide
 

Pièces jointes

  • bloque.xls
    25 KB · Affichages: 75

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réactiver procédures évènementielles

Bonjour Loto, bonjour le forum,

C'est normal que tu ne puisses plus activer les macros événementielles puisque le code qui devrait le faire est lui même dans une macro événementielle...
En pièce jointe une proposition avec un Bouton bascule (ToggleButton) qui Bloque/Débloque. Regarde si ça peut convenir...
 

Pièces jointes

  • Loto_v01.xls
    29 KB · Affichages: 49

loto

XLDnaute Occasionnel
Re : Réactiver procédures évènementielles

Arh, bien sur... Je peux donc que passer par un clic de bouton... (j'ai peur qu'ils oublient de le faire...)

A moins que je mette une minuterie pour remettre enableevents=true après un certain laps de temps peut-être?
 

loto

XLDnaute Occasionnel
Re : Réactiver procédures évènementielles

Bonsoir Kjin,

Tjs aussi friand du "Pourquoi?"
Il y a bcp de raisons pour lesquelles on veut désactiver une procédure évènementielle...
Il y en a au moins une qui vaille pour cette démo : ne pas se faire emm.... par un msgbox dès qu'on touche à une cellule dans un fichier envoyé sur ce forum par un xldnaute pas trop aguerri qui cherche des solutions auprès de CEUX QUI SAVENT....

Ceci étant, la parade au moyen de la tempo marche.

Je la doublerai avec le bouton au cas où...

Il n'y a donc vraiment pas de moyen d'autoriser les procédures évènementielles à l'ouverture ou fermeture d'un fichier?
 

loto

XLDnaute Occasionnel
Re : Réactiver procédures évènementielles

Attention, les procédures ont été bloquées précédemment au moyen du bouton
Pas moyen (pour moi) de les réactiver comme ça

Je joins de nv le fichier avec une tempo de 20" pour les réactiver

Comment insèrerais-tu ton code (il y est)
 

Pièces jointes

  • bloque(1).xls
    28.5 KB · Affichages: 65

kjin

XLDnaute Barbatruc
Re : Réactiver procédures évènementielles

Bonsoir, salut James :),
Tjs aussi friand du "Pourquoi?"
Oui en général je commence par là avant de m'inquiéter du comment !
Il y a bcp de raisons pour lesquelles on veut désactiver une procédure évènementielle...
Sans doute, mais on peut quand même se poser la question de savoir pourquoi tu as coder des macros événementielles pour au final les désactiver et c'est l'objet de ma question !
Sinon, sans explication rationnelle de la chose dite...
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(65536, 256) <> "" Then Exit Sub
MsgBox ("Events actifs")
Cells(65536, 256) = 1
End Sub
...désactive aussi les macros, mais pas toutes !
A+
kjin
 

ROGER2327

XLDnaute Barbatruc
Re : Réactiver procédures évènementielles

Bon soir à tous
(…)
Oui en général je commence par là avant de m'inquiéter du comment !
(…)
Bien d'accord sur la méthode. C'est fou le nombre de problèmes qu'on a ainsi plus à résoudre parce qu'on constate à l'analyse qu'ils ne se posent pas.
Bien entendu, ce n'est qu'une opinion : libre à qui veut de mépriser le rationalisme. Et comme nous vivons une époque moderne, autant virer l'intelligence. (Très mauvais pour les forces de vente, ce truc-là…)
C'était ma minute de lucidité (et, par conséquent, de mauvaise humeur), inutile d'y répondre.

Merci kjin, je me sens moins seul.
ROGER2327
#4687


Vendredi 6 Sable 138 (Saint Navet et Perruque, humanistes, SQ)
16 Frimaire An CCXIX
2010-W49-1T18:19:04Z
 

loto

XLDnaute Occasionnel
Re : Réactiver procédures évènementielles

Kjin, si je t'ai répondu cela, c'est qu'il ne me semblait pas nécessaire de me justifier (comme il faut souvent le faire avec toi, sorry) sur la cause profonde du but recherché dans la mesure où sur l'exemple fourni, le bât blesse.
Il me semble que ce cas peut-être élargi à pleins de situations et le plus intéressant, c'est de savoir comment éviter les problèmes inhérents aux différente façons de programmer.

Sachant, qu'il n'est pas possible de trouver une solution au problème posé, on sait alors qu'il faut éviter de le générer.

Mais, je comprends aussi que tu veuilles analyser la situation, indiscutablement pertinent (et aussi afin de sélectionner les problèmes intéressants pour toi).
 

Softmama

XLDnaute Accro
Re : Réactiver procédures évènementielles

Bonjour à tous,

Dis-moi si j'ai rien compris, mais j'ai le sentiment à la lecture rapide de ce fil que le problème n'est pas tant d'activer/réactiver les procédures événementielles, qu'un Application.EnableEvents = False qui traîne quelque part sans qu'un EnableEvents = True le suive.

Du coup, plus de macros, et sans le lancement manuel d'une macro ou un clic sur un bouton, y a plus de macros qui tournent, évènementielles ou autres.

Si le problème se situe à ce niveau là, il me semble déjà que la structure des macros évènementielles est à revoir et qu'il manque au minimum quelque part un Application.EnableEvents = True quelque part. Maintenant, si tu veux nous donner plus d'infos sur tes procédures évènementielles et le moment où tu rencontres des problèmes, on sera mieux armés pour te répondre. A défaut, on imagine quelques scénarii dont la plupart sont simplement erronés, juste parce qu'on ignore un petit détail que tu n'as pas dévoilé.
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16