Comment lire dans un fichier ??

  • Initiateur de la discussion Initiateur de la discussion Marcooo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Marcooo

Guest
Bonjour à tous,

Peut-être quelqu'un saura me résoudre mon problème.

En fait, je cherche simplement à mettre dans une case la valeur d'une cellule d'un autre fichier. Commande type :


=[DATA1.xls]Sheet1!$A$1

La particularité, c'est qu'au lieu de le taper explicitement le nom du fichier (DATA1.xls), je voudrais qu'Excel aille le chercher dans une cellule qui contient le nom du fichier SOUS FORMAT TEXTE.

Le but de l'opération est d'avoir un contrôle dans une cellule du nom du fichier qu'il faut aller chercher.

Quelqu'un peut-il me sauver ?

Merci d'avance

Marco
 
Bonjour Marco, Tcho

Tu pourras t'inspirer de cette démo, pour écrire par VBA des Formules en Dûres...

Lien supprimé

Ici il y a une variable 'An' pour les Feuilles, mais le principe serait le même pour des chemins et noms de fichiers... (J'ai aidé sur un truc comme çà, mais plus le temps de trouver)

Bonne Journée
@+Thierry
 
Merci Thierry,

Je vais y jeter une couille 🙂

Mais le truc, c'est que je voudrais le faire via une formule, et non par une macro. Je sais, je suis difficile, mais c'est dans un soucis de commodité.

...
 
Re Bonjour Marco, Tcho, Bonjour Pascal, le Forum

Je ne suis pas spécialiste de Formule, mais Indirect, utilisé avec ta syntax, Pascal, ça fonctionne, mais uniquement si le Fichier en 'Link' est Ouvert...

J'ai essayé différents trucs :
= INDIRECT(''C:\\MesDocuments\\[' &B1& ']Sheet1!$A$1')

ou Encore (A2 contenant le Path)
=CONCATENATE('=''&A2&(INDIRECT('['&B2&']Sheet1!A1')))

Enfin je vous passe mes exemples qui n'ont aboutis à rien !! LOL mais je précise je ne suis absolument pas 'Formuliste'

Sinon En VBA, pour peu que tu aies les renseignements adéquates en Cellule 'A1'/'B1'/'C1'/'D1' ça donne çà :
Code:
Sub LinkBuilder()
Dim CellPath As String
Dim CellFile As String
Dim CellSheet As String
Dim CellRange As String
Dim TheCompletePath As String

    CellPath = Range('A1')  'Chemin  EG 'C:\\Mes Documents\\'
    CellFile = Range('B1')  'Fichier EG 'MonTest.xls'
    CellSheet = Range('C1') 'Feuille EG 'Feuil1'
    CellRange = Range('D1') 'Cellule EG 'A1'

TheCompletePath = ''' & CellPath & '[' & CellFile & ']' & CellSheet & ''!' & CellRange

ActiveCell.Formula = '=' & TheCompletePath

End Sub

Voilà, par contre Marco, je te conseille gentillement de maîtriser un petit peu les mots que tu emploies dans ce Forum, on est pas dans un Tchat ou je ne sais quelle foire.

Tu as notre Charte qui devrait t'aider à être un peu plus 'XLD-Compliant', merci d'avance.

Bonne Journée
@+Thierry
 
Re

exact Thierry il faut que le fichier soit ouvert

Voici ce que dit l'aide :

Si l'argument réf_texte fait référence à un autre classeur (une référence externe), ce dernier doit être ouvert. Si le classeur auxiliaire ne l'est pas, la fonction INDIRECT renvoie la valeur d'erreur #REF!

Toutes mes excuses
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour