assez chargée :'(...
Voici le code dont je vous parlais qui fonctionne en partie :
[CODE]
Sub essai_2()
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f, tableau, i, j
Dim Ligne As Double
Dim PasEnregistrement As Boolean
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("C:\Utilisateurs\OLIER Fabrice\PRESENTATION FLUX\L3\test.txt", ForReading, TristateFalse)
Application.ScreenUpdating = False
''''''''''''''''''''''''''''''''''''''''''''''
''' DEBUT DE LA BOUCLE D'IMPORT DU FICHIER '''
''''''''''''''''''''''''''''''''''''''''''''''
Do While f.AtEndOfLine <> True 'Boucle tant que l'on atteint pas la fin du fichier
PasEnregistrement = False
tableau = Split(f.Readline, vbTab)
For i = 0 To UBound(tableau)
If tableau(i) = "NaN (Niet-een-getal)" Then
PasEnregistrement = True
Exit For
End If
Next i
If PasEnregistrement = False Then
Ligne = Ligne + 1
For j = 0 To UBound(tableau)
Sheets("WORKSHEET").Cells(Ligne, j + 1) = tableau(j)
Next j
Else:
End If
Loop
f.Close 'Fermeture du fichier
''''''''''''''''''''''''''''''''''''''''''''''
''' FIN DE LA BOUCLE D'IMPORT DU FICHIER '''
''''''''''''''''''''''''''''''''''''''''''''''
End Sub[/CODE]
Comme inscrit précédement, le code EOF ne permettait pas comme l'import de ma ligne entière: Il prennait comme séparateur principal la virgule, puis ensuite la tabulation. En regardant l'aide, il est inscrit que c'est normal et non paramétrable.
A ce jours, je tente de trouver la solution par rapport au code ci-dessus. Il n'importe pour le moment pas les lignes contenant des valeurs "NaN...". Je vais voir pour faire de même avec les vitesses égales à 0 ainsi que les cellules vides:
1. Si cellule vide, alors vérification de la valeur i+1
2. Si toujours vide, alors vérification de la valeur i+1
2a. Si pas vide, alors import de la valeur
3. Etc...
Cependant je constate que le code ci-dessous implique un travail double:
1. Il lis mes valeurs entière, si OK il les importe, sinon il importe pas. En clair, je fais un double import... Une solution existerai afin de ne pas faire deux fois le travail pour une ligne?
Merci d'avance,
Fabrice.