Bonjour je voulais faire un scipt VBS me permettant de recupérer le dernier fichier généré ayant "Active_Profile" dans le nom et récupérer uniquement les colonnes (4,1,2,3.....) pour créer un nouveau fichier, le script ne fonctionne pas merci pour votre aide

Idéalement j'aimerai pouvoir formater certaines colonnes :
2 , 8 sur 8 caractere "00000000"
13 étant une date j'aimerai pouvoir rajouter au fichier créér une colonne "YYYY-MM"


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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Option Explicit
 
Dim fso, folder, files, file
Dim folderPath, latestFile, latestDate
Dim inputFile, line, fields, output
Dim colOrder, i
 
' --- Personnalise ce chemin ---
folderPath = "C:\TEMP\FILES\IMPORT\PROFIL"  ' <-- Met le bon chemin ici
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(folderPath)
Set files = folder.Files
 
Set latestFile = Nothing
latestDate = #1/1/1900#
 
' Trouver le fichier le plus récent contenant "_Profile_Users_Global_Active"
For Each file In files
    If InStr(file.Name, "_Profile_Users_Global_Active") > 0 Then
        If file.DateLastModified > latestDate Then
            Set latestFile = file
            latestDate = file.DateLastModified
        End If
    End If
Next
 
If latestFile Is Nothing Then
    MsgBox "Aucun fichier contenant '_Profile_Users_Global_Active' trouvé.", vbExclamation
    WScript.Quit
End If
 
' Colonnes à extraire (base 1)
colOrder = Array(4, 1, 2, 3, 15, 9, 8, 10, 11,7)
 
' Lire le fichier et extraire les colonnes
Set inputFile = fso.OpenTextFile(latestFile.Path, 1, False)
output = "Fichier : " & "LAST_ACTIVE_PROFILE.csv" & vbCrLf & vbCrLf
 
Do Until inputFile.AtEndOfStream
    line = inputFile.ReadLine
    fields = Split(line, ";") ' change ";" en "," si ton fichier utilise des virgules
 
    If UBound(fields) >= 14 Then ' Vérifie qu'il y a au moins 15 colonnes (base 0)
        For i = 0 To UBound(colOrder)
            If colOrder(i) - 1 <= UBound(fields) Then
                output = output & fields(colOrder(i) - 1) & vbTab
            Else
                output = output & "?" & vbTab
            End If
        Next
        output = output & vbCrLf
    End If
Loop
 
inputFile.Close
 
' Affiche les résultats
MsgBox output