James007 a écrit :
.. s'il s'agit de quelques cellules, que la solution la plus facile est d'utiliser 'ExecuteExcel4Macro'
Bonjour à tous,
voici le code (par John Walkenbach) pour copier dans la cellule sélectionnée la valeur prise du classeur fermé. A' modifier le chemin où se trouve ton fichier essai 1.
Option Explicit
'http://spreadsheetpage.com/index.php/tip/a_vba_function_to_get_a_value_from_a_closed_file/
Private Function GetValue(path, file, sheet, ref)
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(path, 1) <> "\" Then path = path & "\"
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function
Sub TestGetValue()
Dim p As String
Dim f As String
Dim s As String
Dim a As String
p = "C:\Users\Username\Desktop" '===================>> A' MODIFIER
f = "essai 1.xlsm"
s = "Feuil1"
a = "A1"
ActiveCell.Value = GetValue(p, f, s, a)
End Sub