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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| Sub Vinvin1()
'déclarations des variables
Dim Table() As Double
'Dim fso As New FileSystemObject
Dim fsob As Object 'Déclarations des variables
Dim FsoRepertoire As Object, FsoFichier As Object
Dim i As Double, j As Double
Dim strLigne As String, str() As String
'-----------------------------------------------------------------------------------------------------------------
'Attribution de valeurs
Set fsob = CreateObject("Scripting.FileSystemObject") 'Attribution de valeurs
Set FsoRepertoire = fsob.GetFolder(ThisWorkbook.Path) 'nom du répertoire
'-----------------------------------------------------------------------------------------------------------------
'Importation des données .cur dans le classeur
With Worksheets("Feuil1")
For Each FsoFichier In FsoRepertoire.Files
.Range("A:IV").ClearContents 'suppression des données contenues dans les feuilles
i = 0
j = 0
Erase Table
str = Split(FsoFichier.Name, ".") 'Vérifie si le fichier a l'extension souhaité
If str(UBound(str)) = "cur" Then
Open FsoFichier.Path For Input As #1 'ouvre le fichier
Do While Not EOF(1) 'Boucle sur chaque ligne du fichier
Line Input #1, strLigne
j = j + 1 'Calcul du numéro de ligne du fichier en cours
If j >= 7 Then
ReDim Preserve Table(1, i)
Table(0, i) = Split(strLigne, Chr(32))(0)
Table(1, i) = Split(strLigne, Chr(32))(1)
i = i + 1 'incrémente la ligne d'écriture du tableau
End If
Loop
Close #1
For j = 1 To i Step 1
.Cells(j, 1) = Table(0, j - 1)
.Cells(j, 2) = Table(1, j - 1)
Next j
.SaveAs FsoFichier.Path & ".txt", xlTextWindows 'enregistrement au format txt
ElseIf str(UBound(str)) = "0" Then
Open FsoFichier.Path For Input As #1 'ouvre le fichier
Do While Not EOF(1) 'Boucle sur chaque ligne du fichier
Line Input #1, strLigne
ReDim Preserve Table(1, i)
Table(0, i) = Split(strLigne, Chr(9))(0)
Table(1, i) = Split(strLigne, Chr(9))(1)
i = i + 1 'incrémente la ligne d'écriture du tableau
Loop
Close #1
For j = 1 To i Step 1
.Cells(j, 1) = Table(0, j - 1)
.Cells(j, 2) = Table(1, j - 1)
Next j
.SaveAs FsoFichier.Path & ".txt", xlTextWindows 'enregistrement au format txt
End If
Next
End With
'-----------------------------------------------------------------------------------------------------------------
'Message de fin de macro et Possibilité d'impression
MsgBox ("Conversion des fichiers terminée") '
End Sub |
Partager