title: Application.EnableEvents = False not working
body: <p>I don't seem to understand the strange behaviour of Excel 2007, and after a dozen solutions, I came to you asking for help.</p>
  
  <p>I have office 2007.</p>
  
  <p>Here is my class module code : </p>
  
  <pre><code>Public WithEvents App As Application
  Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    MsgBox "event din app"
  End Sub
  </code></pre>
  
  <p>Here is my InitializeAppObject module :</p>
  
  <pre><code>Dim X As New EventClassModule
  Sub InitializeApp()
      Set X.App = Application
  
      MsgBox "am facut setarea"
  
  End Sub
  </code></pre>
  
  <p>Here is my Sheet one code :</p>
  
  <pre><code>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
      If Not Application.Intersect(Target, Me.Range("a1:c10")) Is Nothing _
      Then
          Application.EnableEvents = False
          MsgBox "suntem in range"
          Application.EnableEvents = True
      Else
          MsgBox "nu suntem in range"
      End If
  End Sub
  </code></pre>
  
  <p>Before changing any values on the grid, I execute the InitializeApp() procedure.</p>
  
  <p>From my understanding, the sheet event should be triggered first, then the workbook one, and then the application one. However this is not the case. It first fires up the workbook one, the the application one, and finally the sheet one.</p>
  
  <ol>
  <li>Is Excel malfunctioning or I got it wrong ?</li>
  <li>How can I execute just the sheet event? cause obviously the Application.EnableEvents = false is not doing any good from stopping the event from being triggered upstream.</li>
  </ol>
  
  <p>Thank you so much in advance for all your help!</p>
  
  <p>kind regards,
  radu</p>