Move your code to the WorkSheet_Change event. Then you can check which cell has changed and its current value...
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$M$5" And Target.Value = 40 Then
        Call Procedure
    End If

End Sub