Sub MonLecteurDeFichierFermes()
Dim FileToRead As Variant
Dim RangeToRead As String, SheetToRead As String
Dim FileName As String, PathString As String
Dim y As Integer, X As Integer
SheetToRead = InputBox('Indiquer la Feuille à Lire' & vbCrLf & _
' (sinon rien et vous pourrez choiser)', 'Sheet Address', 'Feuil1')
RangeToRead = InputBox('Indiquer la Cellule à Lire', 'Range Address', 'D6')
FileToRead = Application.GetOpenFilename('Classeurs Excel,*.xls')
If FileToRead = False Then Exit Sub
y = Len(FileToRead)
For X = y To 1 Step -1
If Mid(FileToRead, X, 1) <> Chr(92) Then
FileName = Mid(FileToRead, X, 1) & FileName
Else
Exit For
End If
Next X
PathString = Left(FileToRead, Len(FileToRead) - Len(FileName))
On Error GoTo Out
ActiveCell.Formula = '='' & PathString & '[' & FileName & ']' & SheetToRead & ''!' & RangeToRead
Exit Sub
Out:
MsgBox 'Opération Annulée'
End Sub