OVH Cloud OVH Cloud

FileSearch avec '*' sur NTFS (WinXP)

1 réponse
Avatar
J-P Craff
Bonjour,

je rencontre un probl=E8me avec l'utilisation de l'objet=20
FileSearch avec WinXP sur une partition NTFS lorsque=20
j'utilise le caract=E8re joker '*' dans la=20
propri=E9t=E9 'FileName'.

J'ai =E9crit une fonction 'nbfic' (cf. ci-dessous) qui=20
comporte deux arguments : 'MyPath' : le chemin dans=20
lequel on recherche le ou les fichiers, 'MyFileName' : le=20
nom du fichier recherch=E9. La fonction renvoie, le nombre=20
de fichiers trouv=E9s. En th=E9orie, on peut utiliser les=20
caract=E8res joker '?' et '*'. Par exemple, pour rechercher=20
tous les fichiers '*.txt' d'un r=E9pertoire donn=E9 :

Msgbox "Il y a " & nbfic("C:\","*.txt) & " fichier
(s) '*.txt' dans C:\"

Le probl=E8me c'est que la fonction ne fonctionne pas=20
(c'est le cas de le dire...) avec le caract=E8re joker '*'=20
mais fonctionne parfaitement si on le retire de=20
l'argument 'MyFileName'. L'exemple ci-dessus devient=20
donc :

Msgbox "Il y a " & nbfic("C:\",".txt) & " fichier
(s) '*.txt' dans C:\"

Pr=E9cisions : mon PC est sous XP SP1 (NTFS) et j'utilise=20
Office XP SP2.

Merci d'avance =E0 tous ceux qui pourraient m'aider !

JPC

Public Function NbFic(ByVal MyPath As String, ByVal=20
MyFileName As String) As Integer
Dim fs As FileSearch
Set fs =3D Application.FileSearch
With fs
.LookIn =3D MyPath
.SearchSubFolders =3D True
.FileName =3D MyFileName
NbFic =3D .Execute
End With
End Function

1 réponse

Avatar
isabelle
bonjour JPC,

elle fonctionne très bien sur xl97, as tu essayé de l'enregistrer et de
l'exécuter sur le même pc, celui qui a sp2 ?

isabelle


Bonjour,

je rencontre un problème avec l'utilisation de l'objet
FileSearch avec WinXP sur une partition NTFS lorsque
j'utilise le caractère joker '*' dans la
propriété 'FileName'.

J'ai écrit une fonction 'nbfic' (cf. ci-dessous) qui
comporte deux arguments : 'MyPath' : le chemin dans
lequel on recherche le ou les fichiers, 'MyFileName' : le
nom du fichier recherché. La fonction renvoie, le nombre
de fichiers trouvés. En théorie, on peut utiliser les
caractères joker '?' et '*'. Par exemple, pour rechercher
tous les fichiers '*.txt' d'un répertoire donné :

Msgbox "Il y a " & nbfic("C:","*.txt) & " fichier
(s) '*.txt' dans C:"

Le problème c'est que la fonction ne fonctionne pas
(c'est le cas de le dire...) avec le caractère joker '*'
mais fonctionne parfaitement si on le retire de
l'argument 'MyFileName'. L'exemple ci-dessus devient
donc :

Msgbox "Il y a " & nbfic("C:",".txt) & " fichier
(s) '*.txt' dans C:"

Précisions : mon PC est sous XP SP1 (NTFS) et j'utilise
Office XP SP2.

Merci d'avance à tous ceux qui pourraient m'aider !

JPC

Public Function NbFic(ByVal MyPath As String, ByVal
MyFileName As String) As Integer
Dim fs As FileSearch
Set fs = Application.FileSearch
With fs
.LookIn = MyPath
.SearchSubFolders = True
.FileName = MyFileName
NbFic = .Execute
End With
End Function