désoler pour le dérangement je vient de trouver mon erreur
le conflit c'était dans la plage de la ligne à copier , au niveau du mois validation
voila le code qui marche parfaitement
Private Sub Worksheet_Change(ByVal Target As Range)
'
If Not Application.Intersect(Target, Range("T7:T48")) Is Nothing Then
sFlag = Target.Value
If sFlag = ActiveSheet.Name Then Exit Sub
iRow = Target.Row
For x = 1 To Worksheets.Count
If sFlag = Sheets(x).Name Then
iDRow = Worksheets(x).Range("B" & Rows.Count).End(xlUp).Row + 1
Range("A" & iRow & ":P" & iRow).Copy Destination:=Worksheets(x).Range("A" & iDRow & ":P" & iDRow)
Exit For
End If
Next
End If
'
End Sub