Afficher un fichier excel selon la valeur d'une Listbox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tatie Danielle

XLDnaute Nouveau
Bonjour à tous.

J'affiche dans une feuille Excel la liste de tout mes fichiers .xls contenu dans un répertoire de mon PC.


Maintenant j'aimerais que via une Liste déroulante, cela m'affiche seulement les fichiers portant une partie du mot contenu dans cette liste déroulante.

C'est à dire par exemple :

Dans mon répertoire j'ai un fichier fraise_des_bois.xls, fraise.xls, banane_flambe.xls, banane_coupe.xls, pomme.xls.

Dans mon fichier Excel (celui avec la liste) j'ai dans ma liste déroulante "fraise", "pomme", "banane"...

Quand je choisi par exemple "fraise" celà m'affiche fraise.xsl et fraise_des_bois.xsl, si je choisi "banane" celà m'affichera les 2 fichiers contenant le mot banane, etc...

Comment réaliser la chose ? 😕

Je met le bout de code me permettant d'afficher la liste de tout les fichiers du repertoire au cas où 😉

Code:
Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
  'Activer la reference Microsoft Scripting RunTime 
  Static FSO As FileSystemObject
  Dim oSourceFolder As Scripting.Folder
  Dim oSubFolder As Scripting.Folder
  Dim oFile As Scripting.File
  Static wksDest As Worksheet
  Static iRow As Long
  Static bNotFirstTime As Boolean

[A1:A100].ClearContents 

    iRow = 2

  If Not bNotFirstTime Then
    Set wksDest = ActiveSheet
    Set FSO = CreateObject("Scripting.FileSystemObject")

    bNotFirstTime = True
  End If
  Set oSourceFolder = FSO.GetFolder(strFolderName)
  For Each oFile In oSourceFolder.Files
    wksDest.Cells(iRow, 1) = oFile.Name

    iRow = iRow + 1
  Next oFile

Sub Chemin()
    ListFilesInFolder "C:\MesFichiers", True
End Sub

merci de votre aide ^^
 
Dernière édition:
Re : Afficher un fichier excel selon la valeur d'une Listbox

Bonjour,
En ayant une liste de validation dans la cellule F1 par exemple
Code:
Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
'Activer la reference Microsoft Scripting RunTime
Static FSO As FileSystemObject
Dim oSourceFolder As Scripting.Folder
Dim oSubFolder As Scripting.Folder
Dim oFile As Scripting.File
Static wksDest As Worksheet
Static iRow As Long
Static bNotFirstTime As Boolean

[A1:A100].ClearContents

iRow = 2

If Not bNotFirstTime Then
    Set wksDest = ActiveSheet
    Set FSO = CreateObject("Scripting.FileSystemObject")
    bNotFirstTime = True
End If

Comp = wksDest.Range("F1")
Set oSourceFolder = FSO.GetFolder(strFolderName)
    For Each oFile In oSourceFolder.Files
        If oFile.Name Like "*" & Comp & "*" Then
        wksDest.Cells(iRow, 1) = oFile.Name
        iRow = iRow + 1
        End If
    Next oFile
    
End Sub

Sub Chemin()
    ListFilesInFolder "C:\MesFichiers", True
End Sub
Et dans le module de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" And Target <> "" Then Chemin

End Sub
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour