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 :

Récupérer nom de fichier uniquement dans dialog box


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 107
    Points : 271
    Points
    271
    Par défaut Récupérer nom de fichier uniquement dans dialog box
    Bonjour à tous,

    Tout est dans le titre, je voudrais récupérer en variable que le nom des fichiers sélectionnés grâce à cette fonction et non pas le chemin complet, merci de m'indiquer comment faire ...

    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
    Public Function OuvrirAttachments()
     
    On Error GoTo err
    ' Référence obligatoire : Microsoft Office 11.0 Object Library.
     
       Dim fDialog As Office.FileDialog
       Dim varFile As Variant
       Dim rst As Recordset
     
         ' Prépare le dialog box.
       Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
       With fDialog
          ' Permet de sélectionner plusieurs fichiers dans le dialog box.
          .AllowMultiSelect = True
     
          ' Titre du dialog box.
          .Title = "Choisissez une ou plusieurs pièces jointes"
     
          ' Efface les filtres actuels et utilise les nouveaux.
          .Filters.Clear
          .Filters.Add "All Files", "*.*"
     
          ' Affiche le dialog box. Si .Show renvoie True, l'utilisateur à choisi au moins un fichier, si False, l'utilisateur a choisi Cancel.
     
                If .Show = True Then
             ' Boucle au travers de tous les fichiers sélectionnés et les ajoute au list box.
     
             Set rst = CurrentDb.OpenRecordset("attachments mails")
             For Each varFile In .SelectedItems
                'Me.filelist.AddItem varFile
                With rst
                    .AddNew
                    !PathAttachment = varFile
                    !NumMail = Forms!Mails!NumMail
                    .Update
                End With
             Next
             rst.Close
     
     
     
               Else
             MsgBox "Vous avez annulée l'opération en cours"
          End If
     
     
       End With
     
     
    err:
        'Gestion d'erreur
        Select Case err.Number
            Case 3024:
                MsgBox "Fichier inexistant", vbCritical
            Case 3820:
                MsgBox "Une autre pièce-jointe avec le même nom existe déjà", vbCritical
     
        End Select
     
     
       Forms![Mails]![Attachments].Requery
       Forms![Mails].ListeAttachmentsSélectionnés
     
    End Function

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Tu dois pouvoir y arriver en utilisant la fonction InStrRev pour retrouver la position du dernier "\" dans le chemin complet de ton fichier et de ne prendre en fait que ce qui est à droite.

    Bonne continuation

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 107
    Points : 271
    Points
    271
    Par défaut
    Merci pour ta réponse mais ça m'a l'air compliqué !

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Mandresy

    ici un descriptif

    http://access.developpez.com/faq/?pa...Rep#chemin_rep

    en modifiant quelque peu la fonction de cette sorte tu devrais avoir réponse à ton problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function Extractnamefile(ByVal sFullPath As String) As String
     
    If Right(sFullPath, 1) = "\" Then
        Extractnamefile = sFullPath
    Else
        Extractnamefile = Right(sFullPath, InStrRev(sFullPath, "\"))
    End If
     
    End Function
    donc tu recopies cette fonction dans un module et en passant comme argument le chemin complet le résultat te donnera le nom du fichier :

    un exemple d'implémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function rechercher_nomfichier()
    MsgBox Extractnamefile("c:\developpez\monfichier.txt")
    End Function
    jimbolion

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Jean Marie

    Clickandgo, ce n'est pas aussi compliqué que ça !!

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Mandresy

    oui Clickandgo reste plus qu'à faire du clic-copy-paste and go...

    @ Bientôt

    Jm

Discussions similaires

  1. Récupérer les noms de fichiers situé dans un dossier
    Par Leelith dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/08/2009, 17h34
  2. Réponses: 2
    Dernier message: 01/04/2009, 13h54
  3. Récupérer le nom du fichier copié dans une cellule
    Par mammmy dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 12/06/2008, 16h31
  4. Réponses: 7
    Dernier message: 10/12/2007, 11h27
  5. Récupérer le nom du fichier source dans son source
    Par jeromechezgdf dans le forum C#
    Réponses: 2
    Dernier message: 18/07/2007, 16h34

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