In it's simplest form, to capture the time in D when value in C changes, you will need something like below...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
'Check if Value column "C" (=3 )edit to suit if not column 3
If Not Target.Column = 3 Then Exit Sub
Target.Offset(0, 1) = Format(Now, "hh:mm") ' formatted just to show time
'if you want date and time then remove the line above and
'remove the apostrophe from the line below
'Target.Offset(0, 1) = Now
Right click your sheet tab >> View Code >> paste the above code into the white code pane.
If your value column is not C (3) then edit to suit.
Unless using pre xl2007, you will need to save your workbook as MacroEnabled