Modifier les entête d'un fichier texte [Résolu]

Messages postés
119
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2014
- - Dernière réponse : DAVIMIKA
Messages postés
119
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2014
- 4 janv. 2010 à 10:31
Bonjour,

Comment lire est modifier les entêtes d'un fichier texte
par vba access.

Merci de votre aide.

Salutations.

PS.Toutes mes excuses si je ne suis pas dans le bon forum.
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
29
3
Merci
salut,

... mouai allez c'est dimanche


Sub ReDoCSV(ByVal sPath As String)
'   le fichier doit exister et contenir au moins ce fameux header !!
    Dim FF         As Integer
    Dim sLine      As String
    Dim sLines     As String
    Dim saHeader() As String
    Dim i          As Integer
    Dim j          As Integer

    sLines = vbNullString
    i = 0
    FF = FreeFile
    
    Open sPath For Input As #FF
        Do While Not EOF(FF)
            i = i + 1
            Line Input #FF, sLine
            
            If i = 1 Then
'               première ligne, on garde de côté en tableau
                saHeader = Split(sLine, " ; ")
            Else
'               les autre ligne, on se compose notre buffer
                sLines = sLines & vbCrLf & sLine
            End If
        Loop
    Close #FF
    
'   on travaille sur le tableau, le but étant de numéroter tous les NOM trouvés
    j = 0
    For i = 0 To UBound(saHeader) - 1
        If saHeader(i) = "NOM" Then
            j = j + 1
            saHeader(i) = "NOM" & CStr(j)
        End If
    Next i
    
'   on a maintenant "DATE ; HEURE ; NOM1 ; COURT ; NATURE"
'   oubien          "DATE ; HEURE ; NOM1 ; NOM2 ; NOM3 ; NOM4 ; COURT ; NATURE"

'   ré-écriture
    FF = FreeFile
    Open sPath For Output As #FF
        Print #FF, Join(saHeader, " ; ") & sLines;
    Close #FF
End Sub


++
[hr]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
29
3
Merci
ah j'ai mis des chiffres au lieu de lettres....

si c'est grave :
saHeader(i) = "NOM" & CStr(chr$(j+64))

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Salut

Un fichier texte n'a pas d'entête.
Précise ta demande.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
119
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2014
0
Merci
Bonjour Jack et bonne année,

En lisant le fichier avec WordPad il se présente de cette façon:

DATE ; HEURE ; NOM ; NOM ; COURT ; NATURE
Lundi 28 Décembre 2009;09h 00;XXXXXX;;N°7;club
Lundi 28 Décembre 2009;18h 00;WWWWWW;ZZZZZZ;N°8;adherent
Lundi 28 Décembre 2009;20h 00;KKKKKK;MMMMMMM;N°8;adherent

Je voudrais changer les noms de la première ligne ( par exemple le premier NOM PAR NOMA et le deuxième par NOMB)
avant de les importer dans ma table.

Salutations.
Commenter la réponse de DAVIMIKA
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
31
0
Merci
Je soupçonne un fichier généré par une fonction extraction de données dans Access. Dans ce cas là, la première ligne correspond à coup sûr aux nom des colonnes de la table. Il faudrait (si cela est possible) alors modifier les nom de colonne de la table Access

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
119
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2014
0
Merci
Bonsoir Casy,

Non le fichier n'est pas généré par une fonction d'extraction d'Access, il s'agit tout simplement d'un fichier d'Excel en csv dont les deux "NOM" me gène et qu'il me faut modifier automatiquement.

Malgré mes recherches je n'ai rien trouvé pour m?expliquer comment l'on peut lire la première ligne, et la modifier.

Salutations
Commenter la réponse de DAVIMIKA
Messages postés
119
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
10 janvier 2014
0
Merci
Bonjour PCPT,

Merci pour ton aide, le code fonctionne super bien.

Salutations
Commenter la réponse de DAVIMIKA