changement de valeur de cellule ne pas être capturé en macro vba

Je veux capturer lorsque la valeur change dans la cellule A2

J'ai essayé le code ci-dessous mais ça ne fonctionne pas

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("H5")) Is Nothing Then Macro End Sub 

J'ai un point d'arrêt à l'intérieur de la macro, mais ça n'arrive pas jusqu'à ce que j'ai aussi essayé ci-dessous, mais pas de chance

 Private Sub Worksheet_Change(ByVal Target As Range) MsgBox (Target.Column) End Sub 

Worksheet_Change prend un seul paramètre Target of type Range . Pour vérifier si vous avez changé la gamme qui vous intéresse, vous pouvez comparer la cible à cette gamme, dans votre cas:

 If Target = Range("A2") Then 'Do something End If 

Cela vous permet de comparer un object Range avec un autre object Range avec un minimum d'agitation.

Et aussi le mettre dans la feuille correcte ….: P

J'ai découvert la raison

J'ai placé la macro au mauvais endroit, c'est-à-dire dans un module différent

Pour la Private Sub Worksheet_Change de travail Private Sub Worksheet_Change pour travailler, nous devons le placer dans la feuille qui a besoin de cette détection, j'ai suivi les étapes ci-dessous

  1. Nous devons aller à l'éditeur Excel VBA en appuyant sur ALT + F11
  2. Double-click la fiche qui contient notre cellule cible, par exemple Sheet1
  3. Ajoutez le code ci-dessous à la feuille