IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

selection d'un fichier par navigation dans ACCESS [AC-2000]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Points : 13
    Points
    13
    Par défaut selection d'un fichier par navigation dans ACCESS
    Bonjour,

    existe-t-il une fonction permettant de sélectionner un fichier par navigation dans une application VBA d'ACCESS ?
    Merci de votre aide

    Ramoi

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    C'est déjà largement documenté sur le net... Voici la procédure que j'utilise (à mettre dans un module) :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    'Pour chercher un fichier dans l'explorateur
    Public Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
    End Type
     
    Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
     
    Public Function Parcourt(fenetre, repertoire As String, Optional extension As String = "", Optional titre As String = "Choix du fichier") As String
    If Not Mode_debug Then On Error GoTo err:
    Dim OFName As OPENFILENAME
    Dim a As Integer, res As String
    100 res = ""
    102 OFName.lStructSize = Len(OFName) 'Set the structure size
    104 OFName.hwndOwner = fenetre       'Set the owner window
    106 OFName.hInstance = Application.hWndAccessApp 'Set the application's instance
        'Set the filet
    108 OFName.lpstrFilter = extension & "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
    110 OFName.lpstrFile = Space$(254) 'Create a buffer
    112 OFName.nMaxFile = 255          'Set the maximum number of chars
    114 OFName.lpstrFileTitle = Space$(254) 'Create a buffer
    116 OFName.nMaxFileTitle = 255 'Set the maximum number of chars
    118 OFName.lpstrInitialDir = repertoire 'Set the initial directory
    120 OFName.lpstrTitle = titre
    122 OFName.flags = 0 'no extra flags
        'Show the 'Open File'-dialog
    124 If GetOpenFileName(OFName) Then
          'on recupere 254 caractere il faut limiter au fichier et trouver chr(0)
    126   a = InStr(OFName.lpstrFile, Chr(0))
    128   res = Left(OFName.lpstrFile, a - 1)
        End If
    130 Parcourt = res
        Exit Function
    err: Call message("Erreur " & err.Number & "/" & Erl & " dans fonctions.parcourt : " & err.description)
    End Function
    Et un exemple d'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier = Parcourt(Me.hwnd, Client_path, "excel (*.xls*)" & Chr$(0) & "*.xls*" & Chr$(0)) '14.8d appel de procédure
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2016
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Merci. Cela fonctionne super !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL-VBA]tri par date dans access
    Par Mickey_Mouse dans le forum VBA Access
    Réponses: 5
    Dernier message: 06/02/2007, 09h49
  2. [VB/VBA]import de fichier dxf / shp dans access
    Par porki dans le forum Access
    Réponses: 7
    Dernier message: 22/11/2006, 10h46
  3. Fichiers par défauts dans TSaveDialog
    Par stroumpf dans le forum Delphi
    Réponses: 3
    Dernier message: 14/06/2006, 17h37
  4. Import de fichier CSV automatique dans Access
    Par Jmar dans le forum Access
    Réponses: 4
    Dernier message: 20/01/2006, 10h48
  5. Réponses: 1
    Dernier message: 19/08/2003, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo