Programme assez simpliste qui inclut un module de lecture de fichier très simple à utiliser
Je suis certains ou dumoins presque que vous vous demandez ce que je veut dire par texte à double colonnes voici un exemple concret
je [separateur] mange
tu [separateur] manges
...
et voilà, vous spécifiez le separateur, vous chargez le fichier de type texte pas forcément txt.
n'hésitez pas à me signaler d'éventuels bugs, notez et commentez ;-)
Source / Exemple :
'Tout est dans le zip
Conclusion :
Montre la marche à suivre pour lire un texte ligne par ligne et différencier des colonnes par separateurs
n'hésitez pas à me signaler d'éventuels bugs, notez et commentez ;-)
4 déc. 2007 à 21:45
heureusement qu'il est ponctué de noms de variables intuitifs :
# If IsExist(file) Then
# Kill file
# Else
# sjgdhjsdslmgkjdfcgd = MsgBox("Fichier Introuvable", vbExclamation, "Erreur")
# End If
bien aussi, la fonction qui ne retourne rien mais avec une variable publique...
excuse le ton de ma critique, le tout se fait en moins de 20 lignes.
le premier réflexe à avoir est de mettre "option explicit"
ensuite de structurer les méthodes que tu utilises.
en l'occurrence pas la peine de mettre un module vrac qui est à peine utile
en reprenant sur ces 2 snippets :
http://www.codyx.org/snippet_extraction-chaine-caracteres-partir-occurence-separator_131.aspx#373
http://www.codyx.org/snippet_lire-toutes-lignes-fichier-texte_22.aspx#67
voici une idée de ce que çà pourrait donner
Function GetColumnsFromFile(sPath As String, Optional sSepar As String = ";") As String()
Dim FF As Integer, sBuffer As String, aLines() As String, aCols() As String, i As Long, j As Long, aRes() As String FF FreeFile: i 0: j = 0
On Error Resume Next
Open sPath For Input As #FF
sBuffer = Input(LOF(FF), #FF)
Close #FF
If Not (Err.Number = 0) Then Exit Function
aLines = Split(sBuffer, vbNewLine)
For i = 0 To UBound(aLines)
aCols = Split(aLines(i), sSepar)
If i = 0 Then ReDim aRes(UBound(aLines), UBound(aCols))
For j = 0 To UBound(aCols)
aRes(i, j) = aCols(j)
Next j
Next i
GetColumnsFromFile = aRes
Erase aLines: Erase aCols: Erase aRes
End Function
++
4 déc. 2007 à 20:17
4 déc. 2007 à 20:16
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.