Importations automatique de données depuis un fichier .txt

Bonjour,

j'ai une macro qui me sert à importer des données depuis un fichier texte.

Mon souci vient du fait que le fichier texte doit avoir le même nom à chaque fois, sinon l'importation ne se fait pas.

Y-a-t'il une astuce pour demander à chaque importation de choisir le fichier ?

Merci d'avance

voici mon code

'Importation

Range("B2").Select

With ActiveSheet.QueryTables.Add(Connection:= _

"TEXT;C:\Users\xxxxx\Desktop\Documents and c4 porte_14-10-11_.TXT", _

Destination:=Range("$B$2"))

.Name = "Documents and c4 porte_14-10-11__10"

.FieldNames = True

.RowNumbers = False

.FillAdjacentFormulas = False

.PreserveFormatting = True

.RefreshOnFileOpen = False

.RefreshStyle = xlInsertDeleteCells

.SavePassword = False

.SaveData = True

.AdjustColumnWidth = True

.RefreshPeriod = 0

.TextFilePromptOnRefresh = False

.TextFilePlatform = 850

.TextFileStartRow = 2

.TextFileParseType = xlDelimited

.TextFileTextQualifier = xlTextQualifierDoubleQuote

.TextFileConsecutiveDelimiter = False

.TextFileTabDelimiter = False

.TextFileSemicolonDelimiter = False

.TextFileCommaDelimiter = True

.TextFileSpaceDelimiter = False

.TextFileColumnDataTypes = Array(1, 9, 1, 9)

.TextFileDecimalSeparator = "."

.TextFileTrailingMinusNumbers = True

.Refresh BackgroundQuery:=False

End With

Bonjour,

Avec une boite de dialogue ?

'Sélectionner un fichier par boite de dialogue
Function SelectFichier() As String
Dim Nomfich As String, i As Integer
    Nomfich = Application.GetOpenFilename(FileFilter:="(*.*),*.tous" _
            , Title:="Sélectionnez le fichier à ouvrir")
    If Nomfich = "Faux" Then 'pas de sélection faite
        Exit Function
    End If
    SelectFichier = Nomfich
End Function

Tu dis...

Je n'arrive pas à integrer cette demande boite dans la macro ???

Tu colle le code que j'ai mis dans mon poste précédant dans un module

et dans ta macros tu ajoute

'Importation
Dim Fichier as string, N 
    Fichier = SelectFichier()
    If Fichier = "" Then exit sub

    Range("B2").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;Fichier", _
    Destination:=Range("$B$2"))

    Name = Mid(fichier, InstrRev(Fichier,"\") + 1)
'....... la suite de ta macro

A+

Merci pour ton aide.

Il doit y avoir un truc que j'oublie de faire car pas moyen d'incorporer mes données, et pourtant la macro et le module tourne.

Je te met le fichier excel et le fichier texte

36usure.zip (233.13 Ko)

Re,

J'ai simplifié ta macros, il n'est pas nécessaire de passer par une feuille tampon pour ensuite coller les données dans une autre feuille. Autant y mettre les données directement.

A+

236usure-retour-v1.xlsm (252.90 Ko)

Merci ca marche nickel.

manque juste la remise automtique de la proctection, mais ce n'est pas un pb je sais faire !

Encore merci pour votre aide !

Rechercher des sujets similaires à "importations automatique donnees fichier txt"