Equivalent de .FoundFiles.Item() dans Classefilesearch
Bonjour à tous,
Au sein d'un programme de simulation de mortalité, j'ai un petit bout de code qui sert à vérifier la présence de certains fichiers. Ce bout de code utilisait la fonction filesearch qui n'est plus supportée par office 2007.
Après avoir suivi le tutoriel qui se trouve ici : http://silkyroad.developpez.com/vba/classefilesearch/, j'ai modifié mon programme comme suit :
Code:
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
|
Public Function CheckFiles() As Boolean
Dim files(2) As String, temp As String
Dim i As Integer, j As Integer
Dim found As Boolean
Dim Recherche As ClFileSearch.ClasseFileSearch
Set Recherche = ClFileSearch.Nouvelle_Recherche
files(1) = "fitModels.r"
files(2) = "simModels.r"
CheckFiles = True
'With Application.FileSearch
'.NewSearch
'.FileType = msoFileTypeAllFiles
'.LookIn = ThisWorkbook.Path
'.SearchSubFolders = False
'.Execute
With Recherche
.FolderPath = ThisWorkbook.Path
.SubFolders = False
.Execute
For i = 1 To UBound(files, 1)
found = False
For j = 1 To .FoundFilesCount
temp = Right(.FoundFiles.Item(j), Len(.FoundFiles.Item(j)) - Len(ThisWorkbook.Path) - 1)
If temp = files(i) Then
found = True
Exit For
End If
Next j
If Not found Then
CheckFiles = False
Exit For
End If
Next i
End With
End Function |
Cependant il ne fonctionne toujours pas.
Je souhaiterais savoir par quoi je peux remplacer .FoundFiles.Item(j) car Excel me donne le message d'erreur suivant : "Erreur de compilation : Membre de méthode ou de données introuvable" au sujet de cette instruction.
J'ai essayé de mettre .Files(j).strFileName à la place mais après j'ai ce message d'erreur : "Erreur de compilation : Type d'argument ByRef incompatible".
Merci de votre aide.