Bonjour,
Je vous fais part de deux petits codes que je souhaite optimiser.
Le premier a pour but de boucler dans un répertoire et de récupérer le nombre de fichiers commençant par 'SEE'. Qu'en pensez-vous ?
Le seconde a pour but de tourner dans le même répertoire et de m'indiquer le nombre de fichiers commençant soit par 'SEE' soit par une série (8 permiers caractères) de caractères définis. Qu'en pensez-vous ?
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 Function NumberFilesSee(ByVal Folder As String) As Long Dim Fso As Scripting.FileSystemObject Dim fld As Scripting.Folder Dim fil As Scripting.File Dim NbrFilesSee As Long Set Fso = New Scripting.FileSystemObject Set fld = Fso.GetFolder(Folder) For Each fil In fld.Files If Left(fil.Name, 3) = "SEE" Then NbrFilesSee = NbrFilesSee + 1 End If Next fil NumberFilesSee = NbrFilesSee Set Fso = Nothing End Function
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 Function NumberFilesSeeAndUser(ByVal Folder As String) As Long Dim Fso As Scripting.FileSystemObject Dim fld As Scripting.Folder Dim fil As Scripting.File Dim NbrFilesSeeAndUser As Long Set Fso = New Scripting.FileSystemObject Set fld = Fso.GetFolder(Folder) For Each fil In fld.Files If Left(fil.Name, 3) = "SEE" Then NbrFilesSeeAndUser = NbrFilesSeeAndUser + 1 End If If Left(fil.Name, 8) = "00000221" Or Left(fil.Name, 8) = "00061065" _ Or Left(fil.Name, 8) = "00101663" Or Left(fil.Name, 8) = "00000413" _ Or Left(fil.Name, 8) = "00060935" Or Left(fil.Name, 8) = "00060777" _ Or Left(fil.Name, 8) = "00101142" Or Left(fil.Name, 8) = "00060106" Then NbrFilesSeeAndUser = NbrFilesSeeAndUser + 1 End If Next fil NumberFilesSeeAndUser = NbrFilesSeeAndUser Set Fso = Nothing End Function
Ces deux fonctions me renvoient les nombres dont j'ai besoin pour la suite du traitement.
Temps de réaction :
- Quand j'ai 100 fichiers : respectivement 00:00:00:31 et 00:00:00:61
- Quand j'ai 200 fichiers : respectivement 00:00:00:61 et 00:00:01:30
- Quand j'ai 376 fichiers : respectivement 00:00:01:95 et 00:00:10:20
Et comme je n'ai pas dix dossiers par jours, le porquoi de la demande. Si vous avez des idées ou peut-être est-ce le matériel ou le réseau qui est foireux ? A votre avis ?
Partager