Récupérer chemin fichier OpenFileDialog VB

Fermé
Signaler
Messages postés
1186
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
5 février 2015
-
 Nono33 -
Bonjour,
Je souhaite copier un fichier que l'utilisateur choisi vers un autre emplacement que l'utilisateur a choisis.
Alors, je voudrais récupérer le Chemin d'accès du fichier que l'utilisateur a choisis a l'aide d'un OpenFileDialog
Voila, je n'y arrive pas, je ne trouves pas, aidez moi s'il vous plaît ...

Merci

8 réponses

Messages postés
601
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
3 mai 2011
80
en VB2008, imaginon que tu as une TextBox qui va contenir le chemin du fichier et un Bouton pour ouvrir l'openFileDialog, voici le code:

Dans le Button_Click
Dim selectedFile As String = String.Empty

' Pour afficher l'OpenFileDialog
OpenFileDialog1.ShowDialog()

' Pour insérer l'emplacement du fichier choisi dans le TextBox
selectedFile = OpenFileDialog.FileName

If (selectedFile IsNot Nothing) Then
TextBox.Text = selectedFile
End If

Voilà !
A+
14
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Utilisateur anonyme
simple et efficace ,
merci beaucoup
Rectificatif: selectedFile = OpenFileDialog1.FileName . c'est plutôt l'instance de la classe OpenFileDialog et ça marche parfaitement

Bonjour,

VB ou VBA ?

Exemple type sous VBA :

Option Explicit
'

Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2

Private Declare Function SHBrowseForFolder Lib "shell32" _
                        (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" _
                        (ByVal pidList As Long, _
                         ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
                        (ByVal lpString1 As String, _
                         ByVal lpString2 As String) As Long

Private Type BrowseInfo
    hWndOwner As Long
    pIDLRoot As Long
    pszDisplayName As Long
    lpszTitle As Long
     ulFlags As Long
    lpfnCallback As Long
    lParam As Long
    iImage As Long
End Type
'

Sub LocaliseFichier()

    Dim strFichier As String
    
    strFichier = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
    
    MsgBox strFichier

End Sub
'

Sub LocaliseRepertoire()

    Dim strDossier As String
    
    strDossier = SelectFolder("Sélectionner le répertoire de destination :", 0)
    
    MsgBox strDossier
    
End Sub
'

Private Function SelectFolder(Titre As String, Handle As Long) As String

    Dim lpIDList As Long, strBuffer As String
    Dim strTitre As String, tBrowseInfo As BrowseInfo
    
    strTitre = Titre
    With tBrowseInfo
        .hWndOwner = Handle
        .lpszTitle = lstrcat(strTitre, "")
        .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
    End With
    
    lpIDList = SHBrowseForFolder(tBrowseInfo)
    
    If (lpIDList) Then
        strBuffer = String(260, vbNullChar)
        SHGetPathFromIDList lpIDList, strBuffer
        SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1)
    End If

End Function
'

Lupin
je pense que je n'aurais pas de réponse mais je tente quand même.
Est-ce que avec ce bout de code je peux récupérer le nom d'un fichier depuis un autre logiciel ?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Bonjour,
Un peu tard mais la réponse est ... NON.
A+
Voici un code entier qui permet de récupérer le chemin d'un fichier et de l'afficher dans une textbox

Dim chemin As String
Dim OpenFileDialog1 As OpenFileDialog = New OpenFileDialog
OpenFileDialog1.ShowDialog()
chemin = OpenFileDialog1.FileName
TextBox1.Text = chemin

Si je ne me trompe pas OpenFileDialog1.LocateFile... mais il y a de grande chance que je me trompe
Messages postés
1186
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
5 février 2015
86
NON, c'est Visual Basic 2008 Express Édition : VB (pas VBA) et en plus, c'est quoi VBA ??? c'est programmer pour des applications ?? avec quel logiciel ??
Mais bon restons pour mon problème ...
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Bonjour,
Voilà ce qui arrive quand l'exposer du titre n'est pas clair, Ca pourrait être VB3, VB4, VB5, VB6, VB6.3 (VBA), VB2005 et enfin 2008 !!!!
Enfin, quoi qu'il en soit et en cherchant un tout petit peu
voir ici
A+
et VB 2010 !!!
Le sujet date de 2008, il n'y avait donc pas 2010...

re :

voilà, ça m'apprendra à m'abstenir quand je ne suis pas sur !
Il n'est pas donné à tous de voir les plans à l'intérieur des plans :-)

Lupin
Messages postés
1186
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
5 février 2015
86
Je vais test ça merci ! :) Le temps que je réinstalle VB Express 2008 car j'ai formaté ....
Et au fait, je l'avait précisé dans ma configuration qu'il s'agissait de Visual Basic Express edition 2008 ! --' :

Bonjour,
Je souhaite copier un fichier que l'utilisateur choisi vers un autre emplacement que l'utilisateur a choisis.
Alors, je voudrais récupérer le Chemin d'accès du fichier que l'utilisateur a choisis a l'aide d'un OpenFileDialog
Voila, je n'y arrive pas, je ne trouves pas, aidez moi s'il vous plaît ...

Merci

Configuration: Windows XP
Firefox 3.0.1
Visual Basic Express 2008