Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
Salut

Peut-être avec un petit booleen que tu mets à true dans ton code pour imprimer et dans ton worksheet_Activate

if Boolee=true alors pas msgbox

Pascal
 
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
 
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.
 
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
 
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!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…