Access, lister contenu d'un dossier + cliquable

Résolu
Brandysve Messages postés 59 Statut Membre -  
Brandysve Messages postés 59 Statut Membre -
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. eljojo_e Messages postés 1255 Statut Membre 155
     
    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
  2. Brandysve Messages postés 59 Statut Membre 5
     
    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. eljojo_e Messages postés 1255 Statut Membre 155
       
      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
  3. Brandysve Messages postés 59 Statut Membre 5
     
    Merci beaucoup eljojo_e, c'est niquel o/

    A bientôt
    0