[RESOLU] Affichage en temps réel de l'etat : Application.enableevents

Crisky

XLDnaute Junior
Bonjour à tous

Dans un fichier excel, (si je vous assure dans un fichier excel ;)) j'ai plein de macros qui se declenchent sur evenement sheets.change ou selection change

Donc ici et là pour eviter les conflits macro j'ai placé enableevents true et false

Et j'aimerais faire une petit bilan du fonctionnement global du passage de true en false en utilisant le fichier pour voir si je n'ai pas fait d'erreur

Je pensais faire un userform avec une textbox dont la valeur serait application.enable events
Je rend non modal ce userform

Mais je ne sais pas comment faire pour que ce formulaire s'actualise tout seul pendant l'utilsation du reste du fichier

Je suis partie sur cette solution mais il en existe peut-etre d'autres

Je suis ouvert à tout proposition.

Merci pour votre aide
 
Dernière édition:

bruno66

XLDnaute Occasionnel
Re : Affichage en temps réel de l'etat : Application.enableevents

bonjour , nous on veut bien te croire que tu nous assures avoir un fichier excel , mais pour comprendre ton problème iil serait bien d'avoir un morceau de ton fichier aussi avec ta demande et ou et comment tu veux que cela se produise
merci ( pas de données confidentielles non plus )
a te lire
 

Crisky

XLDnaute Junior
Re : Affichage en temps réel de l'etat : Application.enableevents

Desole, vu de mon cote mon texte semblait clair mais c'est vrai que rien ne remplace en bon exemple concret

Dans le fichier joint
Si les macros sont activées

A l'ouverture vous avez un userform qui indique l'etat de application.enableevents (true)

Quand vous changez une cellule sur la feuille ma macro change le application enableevents en false

Ce que j'aurais aimé : que le userform se reactualise dès que l'etat application.enableevents a changé.

Ce n'est pas le cas : si je ferme le usrform et que je l'ouvre à nouveau l'evenement usrform.initialize affiche l'etat

Mais je suis obligé de fermer et rouvrir, je ne sais pas comment faire pour en gros placer un espion sur applicationenableevents tout au long de l'utilisation du fichier
 

Pièces jointes

  • Classeur1.xls
    37.5 KB · Affichages: 44
  • Classeur1.xls
    37.5 KB · Affichages: 44
  • Classeur1.xls
    37.5 KB · Affichages: 45

Paf

XLDnaute Barbatruc
Re : Affichage en temps réel de l'etat : Application.enableevents

bonjour,

une solution : à chaque modification de Application.EnableEvents rajouter cette ligne de code:
Code:
usrfrm.caseetat = Application.EnableEvents

bonne suite
 

Crisky

XLDnaute Junior
Re : Affichage en temps réel de l'etat : Application.enableevents

re,

Fastidieux : je dois avoir 40 macros dans mon fichier original mais vu que cela fonctionne je vais le faire

En effet apres retest de ta part et que tu ai dis que cela marchait, je me suis dit : j'ai surement fait une erreur

Et oui j'ai betement oublier de mettre le nom de l'objet userform auquel se rattache la variable caseetat

Donc cela fonctionne parfaitement

Merci Paf
 

ROGER2327

XLDnaute Barbatruc
Re : Affichage en temps réel de l'etat : Application.enableevents

Bonjour à tous.


(...)

Fastidieux : je dois avoir 40 macros dans mon fichier original mais vu que cela fonctionne je vais le faire

(...)
Je n'ai pas de meilleure solution, mais on peut aller vite pour l'appliquer : il suffit d'utiliser Edition/Remplacer dans l'éditeur de code.
Demander le remplacement de​
VB:
Application.EnableEvents = True
par​
VB:
Application.EnableEvents = True: usrfrm.caseetat = Application.EnableEvents
dans l'ensemble du projet.

Une deuxième passe en remplaçant True par False, et le tour est joué.​


Bon courage.


ℝOGER2327
#6955


Jeudi 5 As 141 (Saint Van Meegeren, faussaire - fête Suprême Quarte)
17 Brumaire An CCXXII, 6,8982h - cresson
2013-W45-4T16:33:20Z
 

ROGER2327

XLDnaute Barbatruc
Re : [RESOLU] Affichage en temps réel de l'etat : Application.enableevents

Re...



Tres bon conseil, je le testerais demain

les " : " dans ton code servent simuler 2 lignes de code ?
À peu près : En fait, les deux lignes de code sont condensées en une seule. Au lieu de​
VB:
Application.EnableEvents = True
usrfrm.caseetat = Application.EnableEvents
on obtient :​
VB:
Application.EnableEvents = True: usrfrm.caseetat = Application.EnableEvents
Ça ne pose aucun problème lors de l'exécution.​


Bonne soirée.


ℝOGER2327
#6956


Jeudi 5 As 141 (Saint Van Meegeren, faussaire - fête Suprême Quarte)
17 Brumaire An CCXXII, 7,2131h - cresson
2013-W45-4T17:18:41Z
 

Si...

XLDnaute Barbatruc
Re : [RESOLU] Affichage en temps réel de l'etat : Application.enableevents

salut

et Si... tu te dispensais de l'Usf ? Un bouton bascule pourrait suffire.
 

Pièces jointes

  • Gestion des Evènements.xls
    39 KB · Affichages: 40
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 609
dernier inscrit
AmineAB33