Bonjour,
n'oublie pas de dire merci, c'est le seul salaire ici.
A part sur tes 2 premières questions, plus aucun ensuite...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pl As Range, c As Range
Set pl = Intersect(Target, [A2:A10]) '[A2:A10] : plage surveillée
If Not pl Is Nothing Then
For Each c In pl
If c < 0 Then
MsgBox "Annulé, nombre négatif"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
Exit For
End If
Next c
End If
End Sub
eric