As Chill60 has said: try replacing
For Each
with Parallel.ForEach:
Parallel.ForEach(FileInv, Sub(FileInfoInv)
CheminFichierIni = FileInfoInv.FullName
...
End Sub)
But ... threading and parallelism isn't a "magic bullet" that will make your code 100 times faster: each object in the collection requires it's own thread, and to run that thread needs a free processor core. If no core is available, the thread goes into a wait state waiting for one to be free. So the number of cores in your system and the load on the system outside your app will decide how much faster you app will be. It is entirely possible that creating too many threads will cause your whole app to slow down rather than speed up as all the threads are "fighting" to get a core and the threading process plus switching threads adds overhead to the processor. I would not recommend 100 threads at all - and there is a very good chance that your app will crash as well given that ListView is not thread safe, and you are accessing UI controls from a non-UI thread ...