Bonjour
Je viens de nouveau faire appel à vous : mes connaissances en VBA étant toujours trop justes ...
Je dois chaque jour , dans le cadre de mon travail , importer dans excel des fichiers textes ( au moins 4 ) que je convertis
Le dessin d'enregistrement de ces fichiers est toujours le même cependant le nom des fichiers est différent .
j'ai créé une macro qui me permet :
d'accéder au répertoire ou sont stockés les fichiers
de choisir le fichier texte
de découper ce fichier
le problème est l'enregistrement du fichier xlsx dans ce répertoire .
Si le code GetSaveAsFilename m'ouvre bien le répertoire en me proposant l’enregistrement en xlsx , le nom du fichier n'est pas proposé et je dois le compléter manuellement .
Si vous pouvez m'aider ;
Voici le code
L'idéal serait pour m'éviter de faire cette macro sur chaque fichier txt et de gagner ainsi du temps que le code me convertisse en une seule fois les fichiers que j'aurais au préalable choisi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub test() Dim Fichier As Variant Dim nomfeuille As String Const Dossier As String = "C/test/" ChDrive Dossier ChDir Dossier Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt") Workbooks.Open Filename:=Fichier Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="$", FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, _ 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 1)), TrailingMinusNumbers:=True Fichier = Application.GetSaveAsFilename(nomfeuille, fileFilter:="Classeur Excel (*.xlsx), *.xlsx") ActiveWorkbook.SaveAs Fichier End Sub
Toute aide serait la bienvenue
Merci







Répondre avec citation
Partager