Access, lister contenu d'un dossier + cliquable

Résolu
Bonjour CCM,

Voilà, j'ai un formulaire access ou je souhaiterai y insérer une zone (rectangle, liste déroulante, peu importe..) qui afficherait en temps réel tous les fichiers excel se trouvant dans un dossier. De plus, si une personne double clique sur le nom d'un de ses fichiers, il devra s'ouvrir.

Avez-vous une idée?

Brandysve

3 réponses

  1. Bonjour,

    Regarde ce code (a adapter) :


    Private Sub Form_Current()
    Dim strDossier As String
    Dim strFichier As String

    strDossier = "D:\Modèle\2 et 3\"

    ' Vérifier que le dossier existe bien
    If Dir(strDossier, vbDirectory) = "" Then
    MsgBox "Dossier introuvable !", vbExclamation
    Exit Sub
    End If

    ' Lister tous les fichiers du dossier
    strFichier = Dir(strDossier, vbNormal)
    While strFichier <> ""

    ' Afficher le nom du fichier
    Me.ModeleG.AddItem strFichier 'me.ModeleG est une liste déroulante

    ' Lire le fichier suivant
    strFichier = Dir
    Wend
    End Sub


    Tu peux déjà lister tout les fichier d'un dossier (pas que excel)

    Si ca peu t'aider,
    0
    1. Merci eljojo_e, j'ai presque résolu mon souci.

      Voilà ce que j'ai trouvé via l'aide access

      Private Sub ListBox2_Click()
      MsgBox ListBox2.Value
      End Sub
      Private Sub Form_Open(Cancel As Integer)
      Me.ListBox2.RowSourceType = "Liste valeurs"
      Me.ListBox2.RowSource = ShowFolderList("C:\Users\***\Desktop\En attente")
      End Sub

      Function ShowFolderList(folderspec) As String
      Dim fs, f, f1, fc, s
      Set fs = CreateObject("Scripting.FileSystemObject")
      Set f = fs.GetFolder(folderspec)
      Set fc = f.Files
      For Each f1 In fc
      s = s & f1.Name
      s = s & ";"
      Next
      ShowFolderList = s
      End Function

      Seulement maintenant je voudrais que lorsque je double_click sur le nom d'un fichier, il s'ouvre
      0
      1. Avec mon code qui alimente une liste déroulante, tu met un code sur l'évènement sur après_maj, qui ouvre le fichier avec le nom que tu as sélectionné :


        Private Sub xxxx_afterupdate()
        Dim xls As Excel.Application
        On Error GoTo errHnd
        Set xls = CreateObject("Excel.Application")
        xls.Workbooks.Open "D:\tartanpion\" & me.Listedéroulante.value ' et si il n'y a pas les extension, rajoute & ".xls"
        xls.Visible = True
        Exit Sub
        errHnd:
        MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
        End Sub
        0
    2. Merci beaucoup eljojo_e, c'est niquel o/

      A bientôt
      0