importer données texte dans Excel

Le
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 macrosFormulairesListe
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:úlse
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ThierryP
Le #22143441
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
Publicité
Poster une réponse
Anonyme