Lire un fichier sans l'ouvrir (avec et sans macro)


Il est parfois intéressant d'extraire des informations d'un fichier fermé :
- pour gagner du temps (éviter d'ouvrir, lire puis fermer le fichier)
- et quand le fichier est "corrompu" et refuse de s'ouvrir.

La méthode la plus simple consiste à établir un lien entre une feuille Excel et le fichier fermé :
Il suffit pour cela d'inscrire dans une cellule la référence à une cellule du fichier fermé :
='C:\MES DOCUMENTS\[fichier_corrompu.xls]Feuil1'!A1
(cliquer ici pour plus de détails)

Il est par contre impossible de lire directement un classeur fermé par macro.
- On peut bien sur l'ouvrir, le lire puis le fermer en mode "masqué".
- Mais on peut aussi utiliser la technique précédente, c'est à dire inscrire dans une feuille de calcul un lien pointant sur une plage du classeur fermé :
Cells(1) = "='c:\mes documents\[zaza.xls]Feuil1'!R3C5"
- Une autre technique, qui évite d'utiliser une feuille Excel, consiste à mettre en oeuvre la fonction Excel 4 équivalente :
MsgBox ExecuteExcel4Macro("'c:\mes documents\[zaza.xls]feuil1'!R3C5")