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 :

Import fichier csv [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Par défaut Import fichier csv
    Bonjour a tous,
    Mon probleme est assez simple, je souhaiterai importer un fichier .csv d'un dossier et le mettre a chaque fois sur la meme feuille nommé data.

    Cependant le fichier .csv n'a pas toujours le meme nom! donc obligation d'utiliser la fonction : Application.GetOpenFilename("csv Files (*.csv), *.csv") .

    Voici ce que j'ai fait:
    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
    Sub Weekly()
    
    Dim f As Variant
      
    f = Application.GetOpenFilename("csv Files (*.csv), *.csv")
      
    If f = False Then Exit Sub
     
    
        With Worksheets("Data").QueryTables.Add(Connection:= _
            "TEXT;" & f, Destination _        :=Range("$A$1"))
            .Name = "fichier_client"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            End With
            
     
        Rows("1:1").Select
        Selection.Font.Bold = True
        Columns("A:A").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Columns("A:AM").EntireColumn.AutoFit
    
    End Sub
    Il bug et me met en rouge ce que j'ai mis en rouge...Quelqu'un peut m'aider?merci!

  2. #2
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Par défaut
    j'ai trouvé :

    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
    Sub Weekly()
     
    Dim f As Variant
     
    f = Application.GetOpenFilename("csv Files (*.csv), *.csv")
     
    If f = False Then Exit Sub
     
    Workbooks("Ticket 2010-1-5 13.47.32.xls").Worksheets("Data").Activate
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & f, Destination _
            :=Range("$A$1"))
            .Name = "fichier_client"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            End With
     
     
        Rows("1:1").Select
        Selection.Font.Bold = True
        Columns("A:A").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Columns("A:AM").EntireColumn.AutoFit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import fichier CSV
    Par oki972 dans le forum SQLite
    Réponses: 5
    Dernier message: 08/10/2007, 20h58
  2. [Pb Importation fichier CSV]
    Par Jeremie_Vi dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2007, 06h54
  3. Importation fichier CSV Excel
    Par @lex(is) dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/06/2006, 02h16
  4. Update de plusieurs tables, import fichier csv sql loader
    Par fusuke dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 18/05/2006, 15h08
  5. Réponses: 9
    Dernier message: 31/01/2006, 22h42

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