zouhir4net
Messages postés2Date d'inscriptionmercredi 22 avril 2009StatutMembreDernière intervention 9 juin 2011
-
9 juin 2011 à 15:10
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 2013
-
10 juin 2011 à 08:12
J'ai un probleme avec ce code qui ne fonctinne pas evec excel 2007 et qu'il fonctionne avec excel 2003
voila le code :
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 10 juin 2011 à 08:12
Bonjour
En complément (VBA) :
Public Fichiertrouve
-----
Function Cherchefile()
retval = Cherchefichier("d:", "bd*.*")
If Fichiertrouve = True Then
a = 1
End If
End Function
--------
Function Cherchefichier(ByRef strDir As String, ByRef searchTerm As String)
Dim fso As Object
Dim strName As String
Dim strArr(1 To 65536, 1 To 1) As String, i As Long
On Error GoTo errr
Fichiertrouve = False
Let strName = Dir$(strDir & "\*" & searchTerm)
Do While strName <> vbNullString
Let i = i + 1
Let strArr(i, 1) = strDir & "" & strName
Let strName = Dir$()
Loop
Set fso = CreateObject("Scripting.FileSystemObject")
Call recurseSubFolders(fso.GetFolder(strDir), strArr(), i, searchTerm)
Set fso = Nothing
If i > 0 Then
Fichiertrouve = True
a strArr(i, 1) 'pour mémoire : strArr chemin du fichier
End If
Exit Function
errr:
If err.Number = 76 Then Resume Next ' répertoire inexistant
End Function
--------------
Private Sub recurseSubFolders(ByRef Folder As Object, _
ByRef strArr() As String, _
ByRef i As Long, _
ByRef searchTerm As String)
Dim SubFolder As Object
Dim strName As String
On Error GoTo errr
For Each SubFolder In Folder.SubFolders
Let strName = Dir$(SubFolder.Path & "\*" & searchTerm)
Do While strName <> vbNullString
Let i = i + 1
Let strArr(i, 1) = SubFolder.Path & "" & strName
If Mid(strArr(i, 1), Len(strArr(i, 1)) - (Len(searchTerm) - 1), Len(searchTerm)) Then
a = strArr(i, 1)
End If
Loop
Call recurseSubFolders(SubFolder, strArr(), i, searchTerm)
Next
Exit Sub
errr:
If err.Number 52 Then Resume Next '52 accès interdit
End Sub