Bonjour tt le monde, je suis nouveau. Je suis nul dans la programmation
J'ai besoin de votre aide pour un code vba pour excel-2010. Je veux un code pour automatiser l'import des fichiers txt localisés dans un même dossier sachant que le séparateur décimale dans les fichier txt est un point. J'aimerai que tous les fichiers txt dans ce dossier soit converti en plusieurs classeurs excel (1 classeur excel pour 1 fichier txt) et enregistrés dans le même dossier que les fichiers txt et chacun porte le nom de son fichiers txt correspondant ou si c'est plus simple un seul classeur excel avec plusieurs feuilles dont chacune correspond à un fichier txt et porte son nom.
J’essaye avec ce code pour convertir les fichiers txt vers xls, il fonctionne bien, la conversion est correcte mais , je dois lui spécifier pour chaque fichier texte le répertoire là où il doit aller le chercher, il me manque l'enregistrement automatique, et la conversion de tout un répertoire de fichier txt en xls! est ce possible de m'aider à améliorer ce code avec un maximum d'explication possible parce que je ne connais rien dans les codes VBA macro excel. D'avance Merci
Voici le code:

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
30
31
32
33
34
35
36
37
38
39
Option Explicit
 
Sub Tst()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
        If Fichier <> False Then
        Lire Fichier
    End If
End Sub
 
Function Lire(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur  As String * 1
 
    '  Séparateur Tabulation
    Separateur = Chr(9)
 
    Cells.Clear
    NumFichier = FreeFile
    iRow = 1
 
    Open NomFichier For Input As #NumFichier
        Do While Not EOF(NumFichier)
            iCol = 1
            Line Input #NumFichier, Chaine
            Ar = Split(Chaine, Separateur)
            For i = LBound(Ar) To UBound(Ar)
                Cells(iRow, iCol) = Ar(i)
                iCol = iCol + 1
            Next
            iRow = iRow + 1
        Loop
    Close #NumFichier
End Function