[COLOR="DarkSlateGray"]Dim oTab As Range, oDat()
Dim i As Long, j As Long
Dim k As Long '*
Set oTab = Sheets("Trade_History").Range("Table")
oDat = Sheets("Input_Trade").Range("C23:G23").Value
For i = 2 To oTab.Rows.Count - 1
If oTab.Cells(1, 1).Offset(i - 1, 0).Value = oDat(1, 1) Then Exit For
Next i
For j = 2 To oTab.Columns.Count - 1 Step 3
If oTab.Cells(1, 1).Offset(0, j - 1).Value = oDat(1, 2) Then Exit For
Next j
If i > oTab.Rows.Count Or j > oTab.Columns.Count Then
MsgBox "Données incorrectes"
Else
For k = 0 To 2
oTab.Cells(i, j + k).Value = oDat(1, 3 + k)
Next k
End If
End Sub[/COLOR]