Bonjour à tous,
autre façon de faire sans tout sauvegarder :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim apres
If Target.Count > 1 Then Exit Sub
apres = Target.Value
Application.EnableEvents = False
Application.Undo
If Target <> "" Then Target.Interior.Color = vbYellow
Target.Value = apres
Application.EnableEvents = True
End Sub
Limité à la modif d'une cellule unique, pas sur un collé d'une plage.
J'espère que tu as conscience que le fait de lancer une macro à chaque saisie te fait perdre toute possibilité d'annulation en cas d'erreur...
L'enjeu en vaut-il la chandelle ? Je ne pense pas.
Sous prétexte de leur facilité les choses, tu leur mets de sacrés bâtons dans les roues
eric