Solution to my pb:
It seems that there is no EOF if they are more than 32K rows.
To detect the EOF and exit the 'while' loop I need to check if the data in the excel record set is not null.
stillData = True
While (Not rsEX.EOF And stillData)
If IsNull(rsEX!Date) Then stillData = False
rsEX.MoveNext
Wend
thanks to all the helpers
EDIT:
Pfff it's getting anoying: now I want to add a 'where' clause in the SQL request creating the recordset.
if the source file has lesss than 32k rows, again 0 pb at all.
if the source file has more than 32 k rows, and the 'where' clause only returns a few of them (in my case:10)
then the rsEX.movenext doesn't work when I reach the last of the 10 records. (before using rsEX.movenext, I have rsEX.EOF = false)
this is really a pain...