Accélérer recherche répertoires ?

Le
sonia.gaubert
Bonjour,
J'ai créé un bouton qui depuis ma base access va vérifier l'existence
de fichiers numériques (documents numérisés dont les descriptions son=
t
enregistrées dans une table) dans des répertoires : ci-dessous je
recopie le code.
Cela fonctionne sauf que cela mets beaucoup de temps à répondre !
Sauriez-vous s'il y aurait moyen d'accélérer le processus ?
Par avance, merci :o)
Sonia.

Private Sub BtnVerifRep_Click()
Dim fs
Dim I As Integer
Dim NomFichier As String
NomFichier = Me.CoteDoc
Dim NomRepFonds As String
NomRepFonds = "I:" & Me![Abreviation]
Dim IntFile As Integer
Dim StrFile As String, listeRep As String
Dim strDir As String
IntFile = 0
StrFile = ""
Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = NomRepFonds
.SearchSubFolders = True
.filename = NomFichier & ".jpg"

If .Execute < 1 Then
MsgBox "Il n'existe aucun fichier numérique portant le nom : "
& NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !"
If (Me![Numerise]) = True Then
Me![Numerise] = False
End If
If Not IsNull(Me![NivIllustr]) Then
Me![NivIllustr] = ""
End If
ElseIf .Execute >= 1 Then
For IntFile = 1 To .FoundFiles.Count
StrFile = .FoundFiles(IntFile)
StrFile = "I" & Right(StrFile, Len(StrFile) - (Len(strDir) +
1))

listeRep = listeRep & vbCrLf & StrFile
Next

MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg dénommé
(s) " & NomFichier & " dans le(s) répertoire(s) : " & vbCrLf &
listeRep, vbInformation, "PLUSIEURS FICHIERS"

End If
End With


End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel__D
Le #18949211
Bonjour,

a écrit :
Bonjour,
J'ai créé un bouton qui depuis ma base access va vérifier l'existence
de fichiers numériques (documents numérisés dont les descriptions sont
enregistrées dans une table) dans des répertoires : ci-dessous je
recopie le code.
Cela fonctionne sauf que cela mets beaucoup de temps à répondre !
Sauriez-vous s'il y aurait moyen d'accélérer le processus ?
Par avance, merci :o)
Sonia.

Private Sub BtnVerifRep_Click()
Dim fs
Dim I As Integer
Dim NomFichier As String
NomFichier = Me.CoteDoc
Dim NomRepFonds As String
NomRepFonds = "I:" & Me![Abreviation]
Dim IntFile As Integer
Dim StrFile As String, listeRep As String
Dim strDir As String
IntFile = 0
StrFile = ""
Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = NomRepFonds
.SearchSubFolders = True
.filename = NomFichier & ".jpg"

If .Execute < 1 Then
MsgBox "Il n'existe aucun fichier numérique portant le nom : "
& NomFichier, vbInformation, "PAS DE FICHIER NUMERIQUE !"
If (Me![Numerise]) = True Then
Me![Numerise] = False
End If
If Not IsNull(Me![NivIllustr]) Then
Me![NivIllustr] = ""
End If
ElseIf .Execute >= 1 Then
For IntFile = 1 To .FoundFiles.Count
StrFile = .FoundFiles(IntFile)
StrFile = "I" & Right(StrFile, Len(StrFile) - (Len(strDir) +
1))

listeRep = listeRep & vbCrLf & StrFile
Next

MsgBox "Il existe" & .FoundFiles.Count & " fichier(s) jpg dénommé
(s) " & NomFichier & " dans le(s) répertoire(s) : " & vbCrLf &
listeRep, vbInformation, "PLUSIEURS FICHIERS"

End If
End With


End Sub



Tu pourrais effectuer la recherche à l'ouverture du formulaire
et stocker le résultat.

Autre chose si tu stocke le résultat tu pourrais ensuite vérifier
si le fichier existe et s'il n'existe pas effectuer une recherche.
Publicité
Poster une réponse
Anonyme