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

Macros et VBA Excel Discussion :

Ouvrir un fichier CSV


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut Ouvrir un fichier CSV
    Bonjour à tous,

    Je bloque pour ouvrir un fichier CSV avec un script VBA.

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Const xlCSV = 6
    srccsvfile = "C:\Documents and Settings\fguillot\Bureau\"
    srcxlsfile = "C:\Documents and Settings\FLORENT\Bureau\AUTOBYWEB-v2\autobyweb.csv"
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(srcxlsfile)
     
    objExcel.DisplayAlerts = FALSE
    objExcel.Visible = TRUE
    Il m'ouvre mon fichier mais l'ensemble est uniquement dans une colonne on dirait qu'il prend pas en compte les ";" comme séparation.

    Comment résoudre ce probleme ?

    Merci

    guigui69

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut,l'usage de l'enregistreur de macros n'est pas interdit, ni l'utilisation de l'aide en ligne

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Merci pour ta réponse, je suis sur ce probleme depuis 2heures et je bloque.

    Justement j'ai déjà fait:

    voila le code macro excel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ChDir "C:\Users\florent\Desktop\AUTOBYWEB-v2"
        Workbooks.Open Filename:= "C:\Users\florent\Desktop\AUTOBYWEB-v2\autobyweb.csv"
    que j'ai rajouter dans mon script et voici l'erreur:




    l'erreur se situe dans ":= "


    Merci d'avance pour votre aide
    guigui69

  4. #4
    Expert éminent


    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
    Par défaut
    et tu le met ou le code de ta macro excel ? , j'ai l'impression que tu n'utilise pas VBA mais VBS ....

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Mon but est exécuter en script VBS:

    Voici mon script de départ:

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
     
    Dim fso,of1
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=IP;UID=LOGIN;PWD=PASSWORD;DATABASE=BDD"
    'msgbox "OK"
     
     
    chemin= Replace(WScript.ScriptFullName, WScript.ScriptName, "")
     
     
    'MsgBox chemin
     
     
    Set f = fso.OpenTextFile("web.sql", ForReading)
     une_variable = f.ReadAll
     f.Close
     
    rs.Open une_variable, conn
     
    If rs.EOF Then
    'msgbox "NOK"
    Else
     
    '--------------------------
    if fso.FileExists("web.csv") then 
    Set of1 = fso.GetFile("web.csv")
     
    'msgbox (chemin &"archives\web-dc-" & Replace( Left(of1.DateCreated,10),"/", "-")  & "-dm-" &  Replace( Left(Date(),10),"/", "-") & "-" & Replace( Left(Time(),10),":", "-") & ".csv")
    of1.Move chemin &"archives\web-dc-" & Replace( Left(of1.DateCreated,10),"/", "-")  & "-dm-" &  Replace( Left(Date(),10),"/", "-") & "-" & Replace( Left(Time(),10),":", "-") & ".csv"
     
    End if 
    '----------------------------------
     Set o = fso.OpenTextFile("web.csv", ForWriting,true)
     
    Do While NOT rs.Eof   
      o.write(   rs("Site") &";"&   rs("No_VN") &";"&    rs("Chasis")& ";"&   rs("code_marque")& ";"&   rs("Marque")& ";"&   rs("CodeVersion")& ";"&   rs("Version")& ";"&   rs("Code_teinte")& ";"&   rs("Teinte")& ";"&   rs("tarif")& ";"&   rs("date_tarif")& ";"&   rs("Codes_options")& ";"&  rs("Libelles_Options")& ";"&  rs("Anciennete")& ";"&   rs("CodeSellerie")& ";"&  rs("SellerieInterieure")& ";"&    rs("genre")&   vbCrLf )
    rs.MoveNext    
    Loop
     o.Close
     -'----------------------------------------------------------
     
     
     
    ICI MON SCRIPT POUR OUVRIR LE FICHIER en excel le traiter et le referme en CSV
     
     
     
    '----------------------------------------------
     Dim shell
    Set shell = CreateObject("WScript.Shell")
    'msgbox ("ftp -n -s:" & chemin & "ftp.txt")
    shell.Run  "ftp -n -s:""" & chemin & "ftp.txt""", 0
    End If 
     
     
     
     
    rs.Close
    Set rs=nothing
    Je récupère les données de ma base de donnée, puis je les insère dans un fichier CSV.

    mais je doit le retraiter pour retirer des ligne en trop avec ce bout de code VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim LastLig As Long, i As Long
     
    Application.ScreenUpdating = False
    With Sheets("Feuil1")                                                ' à adapter
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        For i = LastLig To 2 Step -1
            If .Range("B" & i) = .Range("B" & i - 1) Then
                .Range("E" & i - 1).Value = .Range("E" & i - 1).Value & "; " & .Range("E" & i).Value
                .Rows(i).Delete
            End If
        Next i
    End With

    Comment je doit m'y prendre?
    Pour ouvrir le fichier CSV (qu'il soit interpréter correctement par excel, ";" est séparateur de colonne) puis executer le bout de code VBA.


    Merci d'avance pour votre aide

    guigui69

  6. #6
    Expert éminent


    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
    Par défaut
    Tu peu être plus précis .. ton but n'est quand même pas d'utiliser excel pour enlever quelques lignes d'un fichier csv ?

Discussions similaires

  1. ouvrir un fichier .csv
    Par nb_fr31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2007, 12h12
  2. Ouvrir un fichier csv avec plus de 65535 lignes
    Par mustang-ffw02 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 09/10/2007, 20h46
  3. Ouvrir un fichier CSV de façon "stupide" ?
    Par maestun dans le forum Excel
    Réponses: 2
    Dernier message: 15/06/2007, 11h30
  4. [VBA-E]Ouvrir un fichier.csv ou un fichier.txt séparateur ";"
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2007, 12h09
  5. Comment ouvrir un fichier.csv ou un fichier.txt séparateur ";"
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 20/03/2007, 01h27

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