Manipulation de fichier textes à "deux colonnes"

Soyez le premier à donner votre avis sur cette source.

Vue 9 758 fois - Téléchargée 825 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
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 déc. 2007 à 21:45
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

++
MALIKcpp Messages postés 58 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 1 septembre 2009
4 déc. 2007 à 20:17
T'as raison dsl je met tout de suite à jours !
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 déc. 2007 à 20:16
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.