IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Vos contributions VB6 Discussion :

[Source/FAQ]Converti un fichier CSV en XLS


Sujet :

Vos contributions VB6

  1. #1
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut [Source/FAQ]Converti un fichier CSV en XLS
    Voici le code , il faut juste faire call Lance_exel() puis on peut faire autant de fois qu'on le souhaite : Conv_csv_to_xls(Lien_csv , Lien_xls )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Option Explicit
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Converti un fichier CSV en XLS
    '
    'Lib a ajouter : Microsoft exel 9.0 object ..
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Conv_csv_to_xls(Lien_csv , Lien_xls)
    '
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Private appExcel As Excel.Application
    Private objExcel As Excel.Application
    Private objXsheet As Excel.Worksheet
     
     
     
    Public Function Lance_exel()
     
        Set objExcel = New Excel.Application
     
    End Function
     
     
    Public Function Conv_csv_to_xls(Lien_csv As String, Lien_xls As String)
     
     
        objExcel.Workbooks.Open FileName:=Lien_csv
     
     
        ActiveWorkbook.SaveAs FileName:=Lien_xls, FileFormat:=xlNoChange
     
     
     
     
     
        ActiveWorkbook.Close
     
     
    End Function

  2. #2
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut
    J'ai eu un problème, les dates sont au format français JJ/MM/AAAA mais excel pense qu'il est en format américain , MM/JJ/AAAA donc j'ai fait une fonction pour ça .

    Le but du code est de convertir dés le départ tout les dates , on prend en compte un format JJ/MM/AAAA ou J/M/AA

    Pour utiliser le code : CSV_mise_en_forme(url_entree, Url_sauvegarde)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Public Function CSV_mise_en_forme(url As String, url_sauv As String)
    ' Ne met a jour que la date .
    Dim i As Integer
    Dim strenrLu As String
     
     
     
    Open url For Input As #1
    Open url_sauv For Output As #2
     
     
    Do While Not (EOF(1))
        Line Input #1, strenrLu
     
        Print #2, modif_time(strenrLu)
     
    Loop
     
    Close #1
    Close #2
     
    End Function
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fonction Modif time modifie automatiquement une chaine de caractère en ,JJ/MM/AAAA ou ,J/M/AA en ,MM/JJ/AAAA
    '
    'ATTENTION NE FONCTIONNE QUE AVEC UNE VIRGULE AVANT LA CHAINE DE CHAR
    '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
     
    Private Function modif_time(entree As String) As String
       Dim reg As VBScript_RegExp_55.RegExp
        Dim Match As VBScript_RegExp_55.Match
        Dim Matches As VBScript_RegExp_55.MatchCollection
     
        ' instanciation
        Set reg = New VBScript_RegExp_55.RegExp
        reg.Global = True 'Toutes les ocurences
        reg.MultiLine = True
     
     
        reg.Pattern = "(\d?\d)/(\d?\d)/(\d?\d?\d\d)"
     
         modif_time = reg.Replace(entree, "$2/$1/$3")
     
    End Function

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par paterson Voir le message
    Voici le code , il faut juste faire call Lance_exel() puis on peut faire autant de fois qu'on le souhaite : Conv_csv_to_xls(Lien_csv , Lien_xls )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Option Explicit
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Converti un fichier CSV en XLS
    '
    'Lib a ajouter : Microsoft exel 9.0 object ..
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Conv_csv_to_xls(Lien_csv , Lien_xls)
    '
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Private appExcel As Excel.Application
    Private objExcel As Excel.Application
    Private objXsheet As Excel.Worksheet
     
     
     
    Public Function Lance_exel()
     
        Set objExcel = New Excel.Application
     
    End Function
     
     
    Public Function Conv_csv_to_xls(Lien_csv As String, Lien_xls As String)
     
     
        objExcel.Workbooks.Open FileName:=Lien_csv
     
     
        ActiveWorkbook.SaveAs FileName:=Lien_xls, FileFormat:=xlNoChange
     
     
     
     
     
        ActiveWorkbook.Close
     
     
    End Function

    merci pour ta contribution mais beaucoup de chose sont à revoir dans ce code entre autre :

    pourquoi ces lignes ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private appExcel As Excel.Application
    Private objXsheet As Excel.Worksheet
    S'il n'est déjà pas souhaitable d'utiliser l'objet ActiveWorkBook en VBA sous Excel ... mais en VB6 c'est encore plus !
    pourquoi ne pas utiliser une variable de type WorkBook pour accéder à votre classeur ?

  4. #4
    Membre averti
    Profil pro
    Ingénieur en électronique
    Inscrit en
    Septembre 2004
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur en électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 419
    Points : 333
    Points
    333
    Par défaut
    En fait je ne savais pas comment ouvrir un fichier excel , donc j'ai cherché et j'ai trouvé cette solution , c'est un peu lourd mais ça marche, je verrai comment ton système fonctionne .

Discussions similaires

  1. Conversion fichier .csv en .xls
    Par Peachplume dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 05/03/2008, 09h27
  2. Copier-coller entre fichier CSV et XLS
    Par da991319 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/09/2007, 21h42
  3. conversion d'un fichier csv en xls
    Par yandoka dans le forum Langage
    Réponses: 11
    Dernier message: 23/07/2007, 16h37
  4. Lire un fichier CSV ou XLS de la même manière
    Par Linio dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/07/2007, 15h12
  5. Enregistrer un fichier ".CSV" en ".XLS"
    Par Isa31 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/03/2006, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo