Se connecter avec
S'enregistrer | Connectez-vous
Résolu

Insertion fichier .txt EXCEL

Dernière réponse : dans Programmation
Partagez
nico7as@guest

Bonjour,

J'ai besoin pour un projet d’insérer sous excel des données d'un rapport en format texte. (.txt)
Pour cela je veux bien sur utiliser des macros, pour d'automatiser la saisie.

Je veux rentrer le nom du fichier.txt (tout les fichiers sont dans un seul et même répertoire)dans une cellule et que la macro vienne chercher ce nom et effectue l'insertion.

Or je n'y arrive pas.

Pour faire cette macro j'utilise l'enregistreur qui me donne le code suivant :

Sub insertion_données()
'
' insertion_données Macro
'
'
Sheets("Saisie").Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\2012424.txt", _
Destination:=Range("$A$1"))
.Name = "2012424"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileFixedColumnWidths = Array(77, 7)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Qu'est ce que je dois modifier pour que la macro vienne chercher dans la cellule , par exemple F6, le nom du fichier?

Merci d'avance.

Autres pages sur : insertion fichier txt excel

Meilleure solution

Tu vas te faire engueuler par Zeb ...
(utilise la balise code stp)
J'imagine qu'en modifiant le début de la sorte, ça devrait déjà mieux aller.
  1. dim NomDuFichier as string
  2. NomDuFichier = Range("F6").Value
  3.  
  4. With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\" & NomDuFichier & ".txt" , _
  5. Destination:=Range("$A$1"))
  6. .Name = NomDuFichier
  • zeb a sélectionné cette solution comme la meilleure réponse
  • drul a édité ce message
Posez votre question