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

VBA Access Discussion :

Sélectionner 2 fichiers d'un repertoire [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut Sélectionner 2 fichiers d'un repertoire
    bonjour,
    j' ai dans un dossier dont se trouve des fichiers videos et jpeg, et j'aimerai savoir comment faire pour selectionner 1 fichier video (ex: 1.avi) et son fichier jpeg (1.jpeg)
    j'utilise ce code pour faire la recherche:

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    Public Function OuvrirUnFichier(Handle As Long, _
                                    Titre As String, _
                                    TypeRetour As Byte, _
                                    Optional TitreFiltre As String, _
                                    Optional TypeFichier As String, _
                                    Optional RepParDefaut As String) As String
     ' OuvrirUnFichier est la fonction à utiliser dans votre formulaire pour ouvrir _
     ' la boîte de dialogue de sélection d'un fichier.
     ' Explication des paramètres
        ' Handle = le handle de la fenêtre
        ' Titre = titre de la boîte de dialogue
        ' TypeRetour (définit la valeur, de type String, renvoyée par la fonction)
            ' 1 = chemin complet + nom du fichier
            ' 2 = nom fichier seulement
        ' TitreFiltre = titre du filtre
            ' Exemple: fichier Access
            ' N'utilisez pas cet argument si vous ne voulez spécifier aucun filtre
        ' TypeFichier = extention du fichier (sans le .)
            ' Exemple: MDB
            ' N'utilisez pas cet argument si vous ne voulez spécifier aucun filtre
        ' RepParDefaut = répertoire d'ouverture par défaut
            ' Exemple: C:\windows\system32
            ' Si vous laissez l'argument vide, par défaut il se place dans le répertoire de votre application
     
    Dim StructFile As OPENFILENAME
    Dim sFiltre As String
     
     ' Construction du filtre en fonction des arguments spécifiés
    If Len(TitreFiltre) > 0 And Len(TypeFichier) > 0 Then
      sFiltre = TitreFiltre & " (" & TypeFichier & ")" & Chr$(0) & "*." & TypeFichier & Chr$(0)
    End If
    sFiltre = sFiltre & "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0)
     
     
     ' Configuration de la boîte de dialogue
      With StructFile
        .lStructSize = Len(StructFile) ' Initialisation de la grosseur de la structure
        .hwndOwner = Handle ' Identification du handle de la fenêtre
        .lpstrFilter = sFiltre ' Application du filtre
        .lpstrFile = String$(254, vbNullChar) ' Initialisation du fichier '0' x 254
        .nMaxFile = 254 ' Taille maximale du fichier
        .lpstrFileTitle = String$(254, vbNullChar) ' Initialisation du nom du fichier '0' x 254
        .nMaxFileTitle = 254  ' Taille maximale du nom du fichier
        .lpstrTitle = Titre ' Titre de la boîte de dialogue
        .flags = OFN_HIDEREADONLY  ' Option de la boite de dialogue
        If ((IsNull(RepParDefaut)) Or (RepParDefaut = "")) Then
            RepParDefaut = CurrentDb.Name
            PathStripPath (RepParDefaut)
            .lpstrInitialDir = Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Mid$(RepParDefaut, 1, _
    InStr(1, RepParDefaut, vbNullChar) - 1)))
            Else: .lpstrInitialDir = RepParDefaut
        End If
      End With
     
    If (GetOpenFileName(StructFile)) Then ' Si un fichier est sélectionné
        Select Case TypeRetour
          Case 1: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFile, InStr(1, StructFile.lpstrFile, vbNullChar) - 1))
          Case 2: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFileTitle, InStr(1, StructFile.lpstrFileTitle, vbNullChar) - 1))
        End Select
      End If
     
    End Function
     
    Private Sub Commande2_Click()
     
    fichier = OuvrirUnFichier(Application.hWndAccessApp, "Parcourir", 1, "Fichier avi", "avi")
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Si le code que tu montres fonctionne, tu as probablement dans ton formulaire un contrôle qui s'appelle "Fichier" et un bouton qu'il s'appelle "Commande2"

    Quand tu cliques le bouton, une fenêtre s'ouvre qui te permet de rechercher un fichier .avi.
    Quand tu l'as trouvé, si tu cliques sur "ouvrir", le contrôle "Fichier" contient le chemin du fichier choisi.

    Que veux-tu faire ensuite ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    en fait apres selection de mon fichier AVI j'aimerai selectionner mon fichier jpeg sans pour autant refaire tout le chemin complet pour le selectionner,car dans mon dossier j'ai le fichier avi et jpeg

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Bonjour,

    Plusieurs pistes :

    - ces Q/R dans la FAQ qui te permettent de sélectionner plusieurs fichiers ici et ;
    - s'il y a une relation entre les deux noms (par ex. si seules leurs extensions diffèrent), tu pourrais construire le nom du second après avoir choisi le premier.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    Merci pour tes renseignements, je suis dans le cas de figure ou mes fichiers portent le même nom avec l extension qui change. Comment créer le nom du second fichier si il existe déjà?
    ou peut on copier mon fichier qui se trouve dans ma table (.avi) dans une table(.jpg) tout en modifiant son extension?

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Par défaut
    Après ta 1re étape, le nom du fichier .avi se trouve dans ton contrôle "fichier'.

    Crée un autre contrôle, par exemple "Image" et affecte-lui comme source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Gauche([fichier];NbCar([fichier])-3) & "jpg"
    C'est-à-dire toute la partie gauche moins les 3 derniers caractères, concaténée à la chaine "jpg".

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/11/2005, 11h25
  2. Réponses: 4
    Dernier message: 19/04/2005, 12h27
  3. Réponses: 6
    Dernier message: 11/02/2005, 06h41
  4. Charger des fichiers d'un repertoire
    Par demanghonj dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/01/2005, 17h23
  5. [TP]Lister les fichiers d'un répertoire
    Par nvtitan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 21/06/2002, 11h22

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