importer des données txt avec choix de fichier permis à l'utilisateur

  • Initiateur de la discussion Initiateur de la discussion mousocgen
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mousocgen

Guest
salut tout le monde
Alors le défi du jour (de la dernière semaine pour moi):
importer des données txt vers excel en permettant de choisir le fichier.

J'ai le code pour importer des données à partir du même fichier. Facile grâce à l'enregistrement de macros.

par contre comme l'emplacement des fichiers à importer varie, il faut que je le propose dans ma macro.

si quelqu'un a une illumination.

Je joins mon code actuel et l'endroit (en rouge) où à mon avis, il faudrait faire une modif.

THksssssssssssss !


Sub extraction()
'
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;V:\OST\REQ02631_20070821_115035.TXT", Destination:=Range("B1"))
.Name = "REQ02364_20070430_115039"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = False
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(9, 9, 9, 9, 9, 2, 2, 9, 2, 2, 2, 9, 9, 9, 2, 2, 2, 9, 2, 1, 2, _
2, 2, 2, 2, 9, 2, 2, 2, 2, 9, 2, 9, 9, 9, 2, 2, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
 
Re : importer des données txt avec choix de fichier permis à l'utilisateur

bonjour mousocgen

a tester:

Application.Dialogs(xlDialogOpen).Show
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name, Destination:=Range("B1")) .Name = "REQ02364_20070430_115039"
 
Re : importer des données txt avec choix de fichier permis à l'utilisateur

salut pierrejean
merci de ta réponse
J'ai bien la fenêtre qui s'ouvre afin de choisir le fichier à importer.
Mais on sait tous très bien qu'Excel est difficilement domptable du premier coup.
Le truc c'est que les données à importer doivent faire l'objet d'un tri.
Dans ma première macro, lorsque j'enregistrais la procédure d'importation, c'était nickel parceque je faisais le tri sur les colonnes à importer ou non.
Mais avec ce rajout, l'utilisateur peut certes choisir son fichier mais doit mettre en forme l'importation. Ce que bien entendu jé désirerais lui éviter.
encore un 'ti coup de pouce.
J'y arrives pô malgré mes essais.
Thksssssss.

Ci-joint mon dernier code

Sub extraction_vf2()

Application.Dialogs(xlDialogOpen).Show
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name, Destination:=Range("B1"))
.Name = "REQ02364_20070430_115039"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = False
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(9, 9, 9, 9, 9, 2, 2, 9, 2, 2, 2, 9, 9, 9, 2, 2, 2, 9, 2, 1, 2, _
2, 2, 2, 2, 9, 2, 2, 2, 2, 9, 2, 9, 9, 9, 2, 2, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With



End Sub
 
Re : importer des données txt avec choix de fichier permis à l'utilisateur

re

A tester:

Code:
....
 FichierChoisi = Application.GetOpenFilename
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & FichierChoisi, Destination:=Range("B1"))
.....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
179
C
Réponses
2
Affichages
1 K
Coco_lac
C
M
Réponses
3
Affichages
1 K
MarieChérie
M
P
Réponses
5
Affichages
1 K
V
Réponses
7
Affichages
2 K
V
D
Réponses
2
Affichages
1 K
D
P
Réponses
5
Affichages
2 K
P
Réponses
2
Affichages
1 K
Phagege@
P
X
Réponses
0
Affichages
593
X
C
Réponses
3
Affichages
1 K
creal69360
C
Retour