TM20
Messages postés2Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2007
-
14 mai 2007 à 15:56
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
14 mai 2007 à 16:32
Bonjour à tous et toutes,
voila, je sollicite l'aide de toute personne qui veut bien sur m'aider,
je cherche à lire un fichier csv sans excel, c'est à dire à le faire lire comme un fichier texte donc toutes les données apparaissent avec le ; comme séparateur ( ça j'y suis arrivé )
mais en suite je voudrais que cela extrait les données comme sous excel c'est à dire que par ex, le numéro 1 s'appelera M, le numéro 2, P, etc, mais tout cela sans utiliser les procédures VB qui utilise l'application Excel sachant que tout le monde n'a pas forcément excel, je voudrais trouver un moyen autre
enfin si quelqu'un arrive à me comprendre, sinon écrivez moi j'essayerai de vous expliquer un peu mieux,
merci d'avance à ceux qui prendront le temps de répondre
TM20
Messages postés2Date d'inscriptionlundi 1 novembre 2004StatutMembreDernière intervention14 mai 2007 14 mai 2007 à 16:07
Niko,
déjà ce que tu m'as donné va m'aider grandement,
je suis toujours ouvert à d'autres propositions mais celle là est vraiment bien pour un début, me suffit maintenant juste que de séparer les données des lignes car en fait je veux juste lire les 5 premières lignes du fichier csv pour commencer,
merci de ton aide
Michael, programmateur pour ses loisirs mais rien de bien folichon lol
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 14 mai 2007 à 16:10
Salut,
autres solution, sans passer par FSO :
Option Explicit
Private Sub ReadAllLines(ByVal sPath As String, ByRef aLines() As String)
Dim FF As Integer
Dim sBuffer As String
FF = FreeFile
On Error Resume Next
Open sPath For Input As #FF
sBuffer = Input(LOF(FF), #FF)
Close #FF
aLines = Split(sBuffer, vbCrLf)
End Sub
' exemple d'utilisation
Private Sub Form_Load()
Dim aMesLignes() As String
Dim i As Long
ReadAllLines "C:\Documents and
settings\mortalino\Bureau\test.txt", aMesLignes
Me.Print (1 + UBound(aMesLignes)) & " lignes trouvées" & vbNewLine
For i = LBound(aMesLignes) To UBound(aMesLignes)
Me.Print aMesLignes(i)
Next i
End Sub