Bonjour,

J'ai un script en VBS qui a pour but de déplacer les fichiers dans des répertoires différents en fonction d'une partir de leur nom.
EX : si le nom de fichier contient "Facture" il est déplacé dans le fichier Facture, si le nom contient URSSAF il est déplacé dans le répertoire des cotisations.

Le script fonctionnait correctement en respectant la casse des noms fichiers, mais depuis quelques mois tous les noms de fichiers des collections (colfiles dans le script) sont systématiquement en minuscule et sans que je change une seule ligne à mon script. Or j'ai besoin que ces fichiers gardent leur casse d'origine.
Quelqu'un aurait-il une idée ? une Solution SVP ?
Merci d'avance.
Antoine

Je vous joins mon script
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
 
Option Explicit
'/////////////////////////// CONSTANTES //////////////////////
 
'Répertoire pour fichiers
Const LECTEUR_C = "C:"
Const LECTEUR_D = "D:"
Const REP_FACTURES = "M:\Cabinet\Comptabilité\2025\01-Factures\"
Const REP_COTIS = "M:\Cabinet\Comptabilité\2025\02-Cotisations-charges\"
Const REP_TELECHARGT = "C:\Users\antoi\Downloads\"
'Const REP_TRACES = "M:\Cabinet\"
 
'Chemins pour requêtes
'Const REP_REQ_SCAN ="'\\Cabinet\\_SCANS\\'"
Const REP_REQ_SCAN ="'\\Cabinet\\_SCANS\\TEST\\'"
Const REP_REQ_TELECHARGT ="'\\Users\\antoi\\Downloads\\'"
Const REP_REQ_PRO ="'\\Users\\antoi\\Downloads\\Professionnel\\'"
'Const REP_FACTURES = "M:\Cabinet\Comptabilit" & chr(233) & "\"
'Dim REP_FACTURES
'REP_FACTURES = "M:\Cabinet\Comptabilit" & chr(233) & "\"
 
'/////////////////////////// VARIABLES ///////////////////////
Dim fsot
Dim fichierLog
Dim Test
 
Dim Shell
Dim oShell
Dim env
Dim objWMIService
Dim colFiles
Dim strComputer
Dim objFile
Dim requete
 
Dim chemin
Dim repScan
Dim repTelechargement
Dim repPro
Dim repCopie
Dim repCible
 
Dim errOpeFile
'FIN DECLARATION DES VARIABLES
 
 
'/////////////////////////// PROCEDURES ///////////////////////////////////////
'******************************************
' Procédure d'ouverture du fichier de logs
'******************************************
Sub OuvertureLog ()
 
	Dim repLog
	Dim nomFichierLog
	Dim monLog
 
	Const ForReading = 1, ForWriting = 2, ForAppending = 8
	Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
 
	Set fsot = WScript.CreateObject("Scripting.FileSystemObject")
 
	'repLog = REP_TRACES
	repLog = REP_TELECHARGT
	nomFichierLog = "Log_Fichiers_EC.log"
 
	MsgBox repLog & nomFichierLog
	Set fichierLog = fsot.OpenTextFile(repLog & nomFichierLog, ForAppending, TristateTrue)
 
	'monLog = Now & " - " & "Ouverture du fichier traces"
	'fichierLog.WriteLine(monLog)
 
End sub
 
'******************************************
' Procédure d'écriture de log
'******************************************
Sub TracesLog (messageTrace)
 
	Dim monLog
 
	monLog = Now & " - " & messageTrace
	fichierLog.WriteLine(monLog)
 
End Sub
 
 
'******************************************
' Procédure de dépalcement de fichiers
'******************************************
Sub DeplacerFichiers(collFichiers, repCible, Test)
 
Dim Proc
Proc = "DeplacerFichiers"
 
 
On Error Resume Next
Err.Clear
 
	For Each objFile in collFichiers
		'Wscript.Echo "Dossier => " & objFile.Drive & objFile.Path
		'Wscript.Echo "Taille  =>x " & objFile.FileSize & " Octets"
		'Wscript.Echo "Nom     => " & objFile.FileName & "." & objFile.Extension
 
		TracesLog(Proc & " >>> Ficher : " & objFile.FileName & "." & objFile.Extension)
		repCopie = repCible &  objFile.FileName & "." & objFile.Extension
		TracesLog(Proc & "Rep destination => " & repCopie)
 
		If Test = False Then
			errOpeFile = objFile.copy(repCopie, True)
			TracesLog(Proc & "errOpeFile => " & errOpeFile)
			if errOpeFile = 0 then
				objFile.delete
				TracesLog(Proc & "Suppression du fichier")
			Else
				TracesLog(Proc & "Erreur n° : " & Err.Number & " - " & Err.Description)
			End if
		Else
 
		End if
	Next
 
End Sub
'/////////////////////////// FONCTIONS ////////////////////////////////////////
 
 
'******************************************************************************
' *** DEBUT DU SCRIPT ***
'******************************************************************************
 
'*** Configuration des variables d'environnement
OuvertureLog()
TracesLog(" ///// DEMARRAGE DU SCRIPT ///// ")
 
Set Shell = CreateObject("wscript.Shell")
Set env = Shell.environment("Process")
strComputer = env.Item("Computername")
 
'\root\cimv2 = namespace (BDD logique) contenant des groupes de classes
'WQL = langage d'interrogation de type SQL modifié ; interroge des classes et renvoie des classes
set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
 
 
'FICHIERS LOYER, URSSAF
'****************************
TracesLog("DEBUT TRAITEMENT FICHERS LOYER, URSSAF")
repScan = REP_REQ_SCAN
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and (FileName like '%SGA Loyer%' OR FileName like '%URSSAF%')"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
 
'Traitement en lien avec l'encodage et les accents le script est en UTF8 et window en windows 1250 (chr(233) = "é"
chemin = Replace(REP_COTIS,"é",chr(233))
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
 
'FICHIERS FACTURES
'*****************
TracesLog("DEBUT TRAITEMENT FICHERS FACTURES : REPERTOIRE TELECHARGEMENT")
repScan = REP_REQ_TELECHARGT
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and FileName like '% Facture%'"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
 
'Traitement en lien avec l'encodage et les accents le script est en UTF8 et window en windows 1250 (chr(233) = "é"
chemin = Replace(REP_FACTURES,"é",chr(233))
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
 
TracesLog("DEBUT TRAITEMENT FICHERS FACTURES : RÉPERTOIRE _SCANS")
repScan = REP_REQ_SCAN
requete = "Select * from CIM_DataFile Where Drive = 'D:' and Path = " & repScan & "and FileName like '% Facture%'"
TracesLog("Requête : " & requete)
set colFiles = objWMIService.ExecQuery (requete)
TracesLog("chemin = " & chemin)
DeplacerFichiers colFiles, chemin, False
 
 
' Destruction des objets
Set Shell = Nothing
Set env = Nothing
 
 
'///////////////////////////////// FIN DU SCRIPT /////////////////////////////
TracesLog(" ///// FIN DU SCRIPT //////")
TracesLog(" ***")
MsgBox "Fin du script !", vbOKOnly + vbInformation, "Informations"
Set fsot = Nothing
 
Set oShell = WScript.CreateObject ("WScript.Shell")
'In VBScript, string literals are surrounded by double quotes
oShell.run """%ProgramFiles%\Notepad++\notepad++.exe ""C:\Users\antoi\Downloads\Log_Fichiers_EC.log"" "
Set oShell = Nothing
 
WScript.Quit