Private Sub Worksheet_Change(ByVal Target As Range)
Dim J As Worksheet 'déclare la variable J (onglet Journal)
Dim O As workheet 'déclare la variable o (onglet)
Dim PLV As Long 'déclare la variable PLV (Première Ligne Vide)
If Target.Column <> 5 Then Exit Sub 'si le changement a lieu ailleur qu'en colonne 5 (=E), sort de la procédure
If Target.Rows = 1 Then Exit Sub 'si le changement a lieu dans la première ligne, sort de la procédure
If Target.Cells.Count > 1 Then Exit Sub 'si sélection multiple, sort de la procédure
Set J = Sheets("Journal") 'définit l'onglet J
Set O = Sheets(.Target.Value) 'définit l'onglet O
PLV = O.Range("A" & Application.Rows.Count).End(xlUp).Row + 1 'définit la première ligne vide PLV de l'onglet O
'copie les 4 premières colonnes de la ligne de la cellule éditée
'et les colle dans la cellule ligne DL colonne A de l'onglet O
J.Cells(Target.Row, 1).Resize(1, 4).Copy O.Cells(PLV, 1)
End Sub