Modifier les entête d'un fichier texte

Résolu
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014 - 3 janv. 2010 à 12:09
DAVIMIKA Messages postés 118 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.

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 janv. 2010 à 17:34
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]
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 janv. 2010 à 17:38
ah j'ai mis des chiffres au lieu de lettres....

si c'est grave :
saHeader(i) = "NOM" & CStr(chr$(j+64))
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 janv. 2010 à 12:17
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)
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
3 janv. 2010 à 12:44
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
3 janv. 2010 à 15:33
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
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
3 janv. 2010 à 16:38
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
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
4 janv. 2010 à 10:31
Bonjour PCPT,

Merci pour ton aide, le code fonctionne super bien.

Salutations
0
Rejoignez-nous