Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche des fichiers xls dans un dossier

3 réponses
Avatar
Fabrice
Bonjour,

Comment rechercher tous les fichiers xls d'un dossier déterminé ?

Merci

3 réponses

Avatar
papou
Fabrice
S'il s'agit de la suite, tu adaptes le code ci-dessous.
Cordialement
Pascal

Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Declare Function SHGetPathFromIDListA Lib "Shell32.dll" _
(ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolderA Lib "Shell32.dll" _
(lpBrowseInfo As BROWSEINFO) As Long
Public LeDossier$
Sub ObtenirLeDossier()
Dim bInfo As BROWSEINFO, szPath As String * 512
bInfo.lpszTitle = "Sélectionnez un dossier."
bInfo.ulFlags = &H1
If SHGetPathFromIDListA(SHBrowseForFolderA(bInfo), szPath) Then
LeDossier = Left(szPath, InStr(szPath, vbNullChar) - 1)
Else: MsgBox "Aucun dossier sélectionné.": LeDossier = ""
End If
End Sub
Sub RechercheDesFichiers()
ObtenirLeDossier
If LeDossier = "" Then Exit Sub
With Application.FileSearch
.NewSearch
.LookIn = LeDossier
.SearchSubFolders = True 'ou False si pas de parcours sous rep
.FileType = msoFileTypeExcelWorkbooks
If .Execute() > 0 Then
MsgBox .FoundFiles.Count & _
" fichier(s) trouvé(s)."
'éventuellement afficher le nom de chaque fichier
' For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
' Next i
Else
MsgBox "Pas de fichier Excel trouvé dans" & _
LeDossier, vbInformation, "Résultat"
End If
End With
End Sub


"Fabrice" a écrit dans le message de news:
%
Bonjour,

Comment rechercher tous les fichiers xls d'un dossier déterminé ?

Merci



Avatar
Jacques
Bonjour,
Bonjour,

Comment rechercher tous les fichiers xls d'un dossier déterminé ?

Merci




Dim str1 As String, str2 As String

str1 = Dir("Chemin*.xls")
str2 = Dir()
While Len(str2) > 0
str1 = str1 & vbCrLf & str2
str2 = Dir()
Wend
MsgBox str1

--
Cordialement,

Jacques.

Avatar
Fabrice
Merci encore pour ta réponse rapide et nickel

J'ouvre donc un des classeurs trouvés et je voudrais vérifier que ce
classeur a bien une feuille se nommant RECAP.
Je sais tester l'existence de la feuille RECAP mais pas pour un classeur
déterminé.

As tu une idée ?

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Fabrice
S'il s'agit de la suite, tu adaptes le code ci-dessous.
Cordialement
Pascal

Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type

Declare Function SHGetPathFromIDListA Lib "Shell32.dll" _
(ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolderA Lib "Shell32.dll" _
(lpBrowseInfo As BROWSEINFO) As Long
Public LeDossier$
Sub ObtenirLeDossier()
Dim bInfo As BROWSEINFO, szPath As String * 512
bInfo.lpszTitle = "Sélectionnez un dossier."
bInfo.ulFlags = &H1
If SHGetPathFromIDListA(SHBrowseForFolderA(bInfo), szPath) Then
LeDossier = Left(szPath, InStr(szPath, vbNullChar) - 1)
Else: MsgBox "Aucun dossier sélectionné.": LeDossier = ""
End If
End Sub
Sub RechercheDesFichiers()
ObtenirLeDossier
If LeDossier = "" Then Exit Sub
With Application.FileSearch
.NewSearch
.LookIn = LeDossier
.SearchSubFolders = True 'ou False si pas de parcours sous rep
.FileType = msoFileTypeExcelWorkbooks
If .Execute() > 0 Then
MsgBox .FoundFiles.Count & _
" fichier(s) trouvé(s)."
'éventuellement afficher le nom de chaque fichier
' For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
' Next i
Else
MsgBox "Pas de fichier Excel trouvé dans" & _
LeDossier, vbInformation, "Résultat"
End If
End With
End Sub


"Fabrice" a écrit dans le message de news:
%
Bonjour,

Comment rechercher tous les fichiers xls d'un dossier déterminé ?

Merci