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

VBA Annuler évènements (différent de EnableEvents = False)

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 !

dionys0s

XLDnaute Impliqué
Bonjour le forum,

Dans mon module ThisWorkbook, j'ai les deux événements "Workbook_SheetDeactivate" et "Workbook_SheetActivate" dans lesquels j'ai du code. J'aimerais pouvoir empêcher l'exécution de "Workbook_SheetActivate" depuis l'événement "Workbook_SheetDeactivate" tout en laissant Application.EnableEvents à True

VB:
Option Explicit

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  CheckUnMachin Sh, True
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  CheckUnMachin Sh, False
End Sub

Private Sub CheckUnMachin(Wks As Excel.Worksheet, WksActivate As Boolean)

  If Wks.Index Mod 2 = 0 Then
  'Ce test est volontairement bidon.
  'Il faut juste jongler entre les deux onglets du classeur.

  'du code
  'du code

  Else
  If Not WksActivate Then
  'On est dans l'execution de Workbook_SheetDeactivate => Workbook_SheetActivate se declenchera dans la foulee
   
  'Du code pour empecher l'exécution de Workbook_SheetActivate mais tout en laissant Application.EnableEvents à True
  End If
  End If

End Sub

D'avance merci pour votre aide 🙂
 

Pièces jointes

Bonjour
Je ne vois pas d'autre solution que positionner à True un global Private ActivAnnulé As Boolean
et faire comme 1ère chose au début de la Workbook_SheetActivate :
If ActivAnnulé Then ActivAnnulé = False: Exit Sub
 
- 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

Discussions similaires

Réponses
41
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…