To complete this topic and for anybody interested by the solution :

DataTS is first splitted into three bytes :

DataTSL = DataTS.BYTE0
DataTSH = DataTS.BYTE1
DataTSU = DataTS.BYTE2

then the program is the same as before but movlw are replaced by movf

movf _DataTSL,W
addwf _AdTS,W
movwf _ADSL
movf _DataTSH,W
addwfc _AdTS+1,W
movwf _ADSH
movf _DataTSU,W
addwfc _ZERO,W
movwf _ADSU

No more error. It works.

MikeBZH