Voilà mon souci, dans un répertoire j’ai une liste de fichiers fermés ou non, je dois faire plusieurs recherches de cas d’emploi
1) j’ai réussi à récupérer la liste des fichiers fermés contenant une propriété perso, le problème si un de ces fichiers est ouvert je tombe en échec,il y a-t-il une solution ?
Dans ma liste il m’affiche le chemin complet, peut on récupérer que le nom du fichier

code :

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
Sub recherchefichier()
Set fs = Application.FileSearch
With fs
    .LookIn = "C:\Mes Documents\Nomenclature"
    .Filename = "*.xls"
    If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
        For i = 1 To .FoundFiles.Count
                Dim DSO As DSOFile.OleDocumentProperties
                Set DSO = New DSOFile.OleDocumentProperties
                DSO.Open sfilename:=.FoundFiles(i)
                DSO.SummaryProperties.Comments = "plan montage"
                If planmontage = DSO.CustomProperties.Item("plan montage").Value Then
                    casdemploi.AddItem (.FoundFiles(i))
                End If
                DSO.Close
        Next i
    Else
        MsgBox "Pas de fichiers"
    End If
End With
2) Je dois faire aussi la liste des fichiers ouverts ou non qui contiennent une valeur donnée par exemple « plan » dans une cellule d’une plage « A1 :M500 » dans toutes les feuilles de ces classeurs, je joint mon code qui est incomplet et qui ne marche pas non plus

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
Private Sub recherchevaleur_Click()
Set fs = Application.FileSearch
With fs
    .LookIn = "C:\Mes Documents\Nomenclature"
    .Filename = "*.xls"
    If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
        For i = 1 To .FoundFiles.Count
            Set plagecellule = .FoundFiles(i).Sheets(1).Range("a1:m500")
                For j = 1 To plagecellule.Cells.Count
                    If plagecellule(j).Text = planmontage Then
                        casdemploi.AddItem (.FoundFiles(i))
                    End If
                Next j
            'casdemploi.AddItem (.FoundFiles(i))
        Next i
    Else
        MsgBox "Pas de fichiers"
    End If
End With
End Sub

3) Encore une chose,je n’arrive pas à trouver comment lister les fichiers ouverts d’un répertoire donné.

Merci à vous