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

- 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
Retour