Sub LitClasseurFermé()
Dim ChampAlire As Range, ChampOuCopier As Range, Chemin$, Fichier$, Onglet$
Chemin = ThisWorkbook.Path
Fichier = "exemple source.xlsx"
Onglet = "Feuil1"
Set ChampAlire = [A1:F3]
Set ChampOuCopier = [c3].Resize(ChampAlire.Rows.Count, ChampAlire.Columns.Count)
'execution
LitChamp ChampOuCopier, Chemin, Fichier, Onglet, ChampAlire
End Sub
Sub LitChamp(ChampOuCopier As Range, Chemin, Fichier, Onglet, ChampAlire As Range)
ChampOuCopier.FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & Onglet & "'!" & CStr(ChampAlire.Address(0, 0)) 'formule matricielle
ChampOuCopier = ChampOuCopier.Value 'suppression des formules
End Sub