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

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

  • Events.xlsm
    33.9 KB · Affichages: 78

Discussions similaires

Réponses
2
Affichages
299

Statistiques des forums

Discussions
312 946
Messages
2 093 830
Membres
105 848
dernier inscrit
toooom