Peut-on empêcher un évènement de se produire?

  • Initiateur de la discussion monsieurPatate
  • Date de début
M

monsieurPatate

Guest
Bonjour le forum,

j'ai un msgbox qui apparaît lorsqu'on entre dans un onglet (Private Sub Worksheet_Activate) pour avertir mon utilisateur qu'il n'y a aucuns champs à saisir.

Cependant, lorsqu'on lance l'impression, j'ai du code vba qui masque pour ce même onglet les lignes vides.

Toutefois, puisque je dois me rendre à cet onglet, le msgbox apparaît durant le traitement.

Je n'ai pas trouvé d'autres solution que d'enlever le msgbox en question.

Y'a t-il moyen que l'évènement ne se produise pas lorsque j'exécute mon code?

Merci et bon weekend

-MRPotatoHead
 
M

Minick

Guest
Salut,

Tu peux essayer avec ceci:

Application.EnableEvents = False en debut de code et
Application.EnableEvents = True en fin de code ou du moins au juste avant et apres l'activation de ta feuille.

Avec cela tous les evenement sont 'désactivés'

@+
Minick
 
L

LaurentTBT

Guest
Bonjour à tous,

Minick, si tu permets, je voudrais juste faire une petite mise en garde au sujet d'enableEvents.
Cette propriété est très pratique, beaucoup plus que l'utilisation d'un booléen, mais elle est aussi beaucoup plus risquée. Exemple:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'…du code…
'…et à un moment…
'…un test qui renvoi vers Exit Sub
If Toto = Truc then Exit Sub
'…puis la suite…
' et à la fin:
Application.EnableEvents =True

Et bien si la condition est vérifiée et que l'on a oublié dans ce cas de faire remettre enableEvents à true, plus aucun évènement ne se déclenchera jusqu'à la prochaine réouverture d'excel!
Donc oui, EnableEvents est très efficace, mais il faut bien réfléchir à son coup!

Bonne journée.
 
@

@+Thierry

Guest
Bonjour Laurent, Pascal, Minick, MrPotato !! le forum

Hihihi !!! "beaucoup plus que l'utilisation d'un booléen" !!! non non non !!! moi y a en pas du tout du même avis, une bollean peut être très très simple d'emploi.

En prime lors de cascade d'évènements elles peuvent (plusieurs boolean) permettre de faire certains évènement et pas d'autres...

Pour l'Application.EnableEvents... Oui tout à fait d'accord, et même plus, avec ces recommandations d'usages !

Bon Aprèm
@+Thierry
 
M

monsieurPatate

Guest
Allo le forum,

merci à tous pour vos interventions.

Les deux méthodes fonctionnent!

Je crois que je vais utiliser le bool car si jamais ma macro plante pour une raison ou une autre, les évènements seront désactivés.

Bye!
 

Statistiques des forums

Discussions
312 755
Messages
2 091 726
Membres
105 058
dernier inscrit
axcelle