Selection fichier

ricoco

XLDnaute Junior
Hello

je souhaite savoir comment faire lorsque je clic sur bouton qui se trouve sur page excel celui ci ouvre l'explorateur pour sélectionner un fichier une fois sélectionner ce fichier le chemin du fichier s'inscrit dans une case.
j'ai déjà trouver ca mais c un début

Sub Chemin()
'***Ouvre la boite de dialogue
dlgAnswer = Application.Dialogs(xlDialogOpen).Show
End Sub

merci
 

Staple1600

XLDnaute Barbatruc
Re : Selection fichier

Re

Je suis trop bon mais comme demain c'est la ST Valentin alors kdo
Code vba:
Sub a()
Dim oShell As Object, oFolder As Object, oFolderItem As Object, Path$, q
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.BrowseForFolder(&H0&, "", &H1&)
On Error Resume Next
Set oFolderItem = oFolder.Items.Item
Path = oFolderItem.Path
q = MsgBox("Inscrire ce chemin (dossier ou fichier) : " & Path & " en A1?", vbInformation + vbYesNo, "RESULTAT")
If q = 6 Then [A1] = Path
End Sub

PS: Crédits à MichelXLD pour le code original (et merci la loupe)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Selection fichier

Re

Relis bien le message avec la macro (j'ai fais une modif)
(j'avais fais une erreur de copier/coller, cela prouve en tout cas que tu n'as pas cherché à comprendre comment fonctionnait le code, car ne le lisant on voit tout de suite l'erreur ;) )
 

Staple1600

XLDnaute Barbatruc
Re : Selection fichier

Re

Revenons à VBA alors
Code:
Sub b()
Dim NomFichier
NomFichier = Application.GetOpenFilename("Fichier de Ricoco (*.xls),*.xls")
If NomFichier <> "False" Then
Workbooks.Open NomFichier
End If
End Sub

PS: Fonctionne mais pas de gestion d'erreur donc
 

Staple1600

XLDnaute Barbatruc
Re : Selection fichier

Re

Pour finir une version plus aboutie
Code VBA:
Sub c()
Dim xFic, wbk As Workbook
xFic = Application.GetOpenFilename("Fichier de Ricoco (*.xls*), *.xls*")
If xFic = False Then
MsgBox "Aucun fichier sélectionné!", vbCritical, "ATTENTION"
Exit Sub
End If
On Error GoTo e_Rr
Set wbk = Workbooks.Open(xFic)
MsgBox wbk.FullName 'ici pour test
e_Rr:
If Err Then MsgBox Err.Description, vbCritical, "Erreur"
End Sub
 

Discussions similaires

Réponses
2
Affichages
159