Replace
dateFormatted1 = j & "/" & cMonth & "/" & cYear
dateFormatted = Format(dateFormatted1, "dd-mm-yyyy")
.Cells(k, 2).Value = dateFormatted
With
.Cells(k, 2).NumberFormat = "mm/dd/yyyy"
.Cells(k, 2).Value = CDate(cyear & "-" & cmonth & "-" & j)
Tested on Excel 2010
By default, Excel formats a date value as m/d/yyyy. By setting the NumberFormat property, we tell Excel to use the format specified rather than the default format.