Bonsoir,
si la valeur de ta cellule A1 est le résultat d'une formule, tu peux utiliser l'évènement calculate :
Private Sub Worksheet_Calculate()
If [A1] = [B2] Then Call ma_macro
End Sub
par contre si tu le rentres à la main, tu peux utiliser l'évènement Change :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target = [B2] Then Call ma_macro
End Sub
Nota : pour Nad & Dan : l'instruction Call, bien que facultative, permet à VBA de situer exactement l'emplacement de la procédure (ici ma_macro) dans les modules lors de la compilation du code, et ainsi un gain de temps lors de grosses applications comprenant un grand nombre de modules et de procédures.