Importer un fichier qui se nomme de la date du jour

Bonjour tout le monde,

petite question :

lorsque j'importe un fichier texte dans excel je met par exemple :

With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\maguetlolo\Desktop\IMPORT!!!!\hm.txt", Destination:=Range("A1"))

mais comment faire si le fichier à importer se nomme de la date du jour donc pour importer aujourd'hui le fichier 20080911.txt

et demain le fichier 20080912.txt.

je pensais que quelqu'un aurais deja posé la question mais je n'ai pas trouvé

cordialement

Bonjour,

Tu crées une variable par le biais du code suivant et essaye de reprendre ce nom dans ton code :

nom_fichier = WorksheetFunction.Text(Date, "yyyyddmm.txt")

A tester.

re

comme ça ? ca ne marche pas, (jamais fait ca)

sub import()

nom_fichier = WorksheetFunction.Text(Date, "yyyyddmm.txt")

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\maguetlolo\Desktop\IMPORT!!!!\yyyyddmm.txt", Destination:=Range("A1"))

end sub

si tu peux expliquer un peu, ca me permettrais de comprendre ce que ca fait et de progresser.

cordialement

Re,

Plutôt comme ça :

Sub import()
    nom_fichier = WorksheetFunction.Text(Date, "yyyyddmm.txt")
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\maguetlolo\Desktop\IMPORT!!!!\nom_fichier", Destination:=Range("A1"))
    End With
End Sub

A tester.

re

ok mais la il me dit qu'il ne trouve pas le fichier et me surligne la derniere phrase ( .Refresh BackgroundQuery:=False

Sub fichier()

nom_fichier = WorksheetFunction.Text(Date, "yyyyddmm.txt")

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\maguetlolo\Desktop\IMPORT!!!!\nom_fichier", Destination:=Range("A1"))

        .Name = "nom_fichier"
        .FieldNames = True
        .RowNumbers = False
        .etc...
       .Refresh BackgroundQuery:=False

Re,

Essaye de remplacer ton code par le suivant :

With ActiveSheet.QueryTables.Add(Connection:= _ 
        "TEXT;C:\Users\maguetlolo\Desktop\IMPORT!!!!\" & nom_fichier &"", Destination:=Range("A1"))

re:

j'ai trouvé où etait l'erreur, en fait ce n'est pas "yyyyddmm" mais "yyyymmdd"

j'aurais dut y penser.

juste une précision car je vais en avoir besoin plus tard, si je veux importer le meme fichier mais de la veille?

j'ai essayer date-1 mais forcément, c'aurais été trop simple!

laurent

5exemple.zip (7.93 Ko)

Re,

Dans ce cas, crée une variable de plus comme celle-ci :

nom_fichier1 = WorksheetFunction.Text(Date - 1, "yyyymmdd.txt")

re,

ok c bon, merci pour tes reponses.

Laurent

Rechercher des sujets similaires à "importer fichier qui nomme date jour"