Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

importer données texte dans Excel

1 réponse
Avatar
C15
Bonjour à tous et à toutes,

J'ai fait une macro pour importer les données d'un fichier texte dans Excel

>>>
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;F:\Excel Perf et macros\Formulaires\Liste
personnels.txt", Destination _
:=Range("A1"))
.Name = "Liste personnels"
.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 = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
>>>

Cela marche si le fichier est toujours au même endroit, enregistré sous
le même nom.

Si le fichier change de nom (par exemple liste personnels 19052010.txt)
et/ou de dossier d'enregistrement, comment modifier cette macro.

J'ai essayé d'utiliser
application.dialogs(xlDialogsOpen).show
ou GetOpenFilename("TexteFiles(*.txt),*.txt")
Cela me permet d'ouvrir la boite de dialogue Fichier/Ouvrir pour
sélectionner un fichier, mais il me faut ensuite refaire toutes les
étapes d'importation alors que les fichiers qui m'intéressent ont tous
la même structure (même nombre de colonnes, mêmes en-têtes).

Comment pouvoir choisir un fichier et qu'ensuite toute l'importation se
fasse automatiquement ?

Merci de votre aide.

A+

C15

1 réponse

Avatar
ThierryP
Bonjour C15,

Si tu passes le fichier choisi dans une variable, tu dois pouvoir utiliser cette
variable à la place du nom en "dur" :
fichier = Application.GetOpenFilename("TexteFiles(*.txt),*.txt")
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;fichier,
Destination _
:=Range("A1"))




Le 19/05/2010 21:21, C15 a écrit :
Bonjour à tous et à toutes,

J'ai fait une macro pour importer les données d'un fichier texte dans Excel




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G.
Courteline