Manipulation de fichier textes à "deux colonnes"

Soyez le premier à donner votre avis sur cette source.

Vue 9 394 fois - Téléchargée 790 fois

Description

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 ;-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
ton code est une usine à gaz! qui plus est truffé d'erreurs

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

++
Messages postés
58
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
1 septembre 2009

T'as raison dsl je met tout de suite à jours !
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
il manque 2 modules

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.