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