Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
If Target.Address <> "$A$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en A1, sort de la procédure
'si la ligne de la cellule modifiée contient plus de 4 élément annule la nouvelle édition et sort de la procédure
If Application.WorksheetFunction.Count(Rows(Target.Row)) = 4 Then Application.Undo: Exit Sub
'renvoie dans la cellule a coté la valeur de la cellule modifiée
Cells(1, Application.Columns.Count).End(xlToLeft).Offset(0, 1).Value = Target.Value
End Sub