comardud a écrit :
Ton code fonctionne sur la feuille que j'ai mis en exemple mais plante sur le fichier original (qui contient + de 4000 lignes),
le code bloque après je ne sais combien de lignes lues (au final seule la ligne d'entête apparait): Cells(i, j + 1).Value = Replace(Table(j), ",", ".")
Bon, on n'est donc pas loin !
Si le code fonctionne ce n'est pas un problème de version d'Excel.
Est- ce que la ligne d'en-tête apparaît avec le code ou bien était-elle déjà présente avant de lancer ?
Le code doit bloquer dès la première ligne.
Le code (très sommaire) est-il intégré à une macro plus complète ? y a t-il un problème de nom de variable ? change le nom Table qui n'était pas approprié. Ensuite si besoin, déclare toutes les variables par dim, et change même les noms si c'est intégré à un ensemble plus large :
Option Explicit
Sub lecture()
Dim Fichiercsv, icsv, jcsv, Contenucsv, Tablecsv, Ncsv
Fichiercsv = Application.GetOpenFilename("Fichiers csv, *.csv")
If Fichiercsv = False Then Exit Sub
Ncsv = FreeFile
Open Fichiercsv For Input As #Ncsv
icsv = 0
Do While Not EOF(1)
Line Input #Ncsv, Contenucsv
icsv = icsv + 1
Tablecsv = Split(Contenucsv, ";")
For jcsv = 0 To UBound(Tablecsv)
Cells(icsv, jcsv + 1).Value = Replace(Tablecsv(jcsv), ",", ".")
Next jcsv
Loop
Close #Ncsv
End Sub
Au besoin, si ce n'est confidentiel, envoie le fichier. Ou alors on continue en MP et mail et on affichera la réponse finale ici pour retour d'expérience et en faire profiter la communauté.
Amicalement