Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque édition dans l'onglet
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
If Target.Address <> "$T$3" Then Exit Sub 'si l'édition a lieu ailleurs qu'en T3, sort de la procédure
For Each cel In Range("A2:A2000") 'boucle sur toutes les cellules cel de la plage A2:A2000
If cel.Value = Target.Value Then 'condition 1 : si la cellule cel a la même valeur que la cellule T3
If Range("V2") = "" Then 'condition 2 : si la cellule V2 est vide
Set dest = Range("V2") 'définit dest comme étant V2
Else 'sinon (condition 2)
'définit dest comme étant la première cellule vide rencontrée dans la colonne V
Set dest = Range("V65536").End(xlUp).Offset(1, 0)
End If 'fin de la condition 2
Range(cel.Offset(0, 1), cel.Offset(0, 17)).Copy dest 'copie et colle la plage B:R de la celule cel
End If 'fin de la condition 1
Next cel 'prochaine cellule cel de la boucle
End Sub