Manipuler un nom de fichier + l'interpreter comme lien

Bonjour,

J'ai une liste de fichiers de ventes dont le nom est "normalisé".

Exemple:

PATATES.xls

FRAISES.xls

POMMES.xls

Ces fichiers ont tous une feuille "VENTES" avec des formats similaires.

J'ai créé un dernier fichier ANALYSES.xls dans le même répertoire, avec différentes analyses.

En première ligne de ma "feuille 1", j'ai inséré les titres PATATES (cellule B1), FRAISES (Cellule C2), POMMES (Cellule D3).

En cellule B2, je crée la formule: ="["&B1&"]VENTES!$A:$J que je duplique sur la ligne

J'obtiens grâce à cette formule le lien externe vers les fichiers et les feuilles qui m'interessent.

MAIS... si en ligne 3, j'utilise par exemple la fonction =RECHERCHEH(2007;B1;2;0) pour aller effectivement chercher les données de ventes de patates 2007 dans le fichier [PATATES]VENTES!$A:$J, Excel me renvoie un message d'erreur.

Je le comprends bien, puisqu'il croit qu'il doit chercher dans la cellule B1.

Moi je souhaite qu'il utilise l'évaluation du contenu de la cellule B1 comme argument de la fonction RECHERCHEH.

Une idée ?

Merci d'avance.

JR

PS: j'ai joint un exemple avec ANALYSES.xls et PATATES.

C'est dans ANALYSES que se pose ma question.

40analyses.xls (16.00 Ko)
33patates.xls (15.00 Ko)

Bonjour jrg,

En B2 du fichier ANALYSES, mets cette formule :

="["&B1&".xls]VENTES!$A:$K"

J'y ai rajouté l'extension xls ainsi qu'enlevé le guillemet simple qui se trouvait là.

En C2, mets :

=RECHERCHEH($A$1;INDIRECT(B2);5;)

Ici c'est la fonction INDIRECT qui te transformera le texte représentant une adresse, en adresse.

Les deux fichiers doivent rester ouverts.

Merci bcp pour la fonction INDIRECT() que je ne connaissais pas. Très pratique.

Ma solution ne me satisfait pas, car il faut que tous les fichiers sources soient ouverts.

Je ne souhaite pas non plus définir de "noms" pointant vers les fichiers sources, car si un autre utilisateur doit rajouter une source, il sera perdu.

Je souhaite pouvoir lire une cellule (ou un plage de cellule) dans le fichier ANALYSES.xls en saisissant son chemin complet. Exemple:

=C:\[PATATES.xls]VENTES!A1

J'ai essayé avec INDIRECT, ça ne marche pas.

Une idée ?

Merci d'avance.

JR

Re,

Pour un classeur fermé, Laurent Longre a créé la fonction INDIRECT.EXT qui permet de lire dans un classeur fermé. Voici un post qui pourra t'aider : https://forum.excel-pratique.com/excel/utilisation-de-la-formule-concatener-dans-une-autre-formule-t15047.html

A tester.

Tu viens de me fournir la réponse à mon pb, et plus encore!

Merci !

JR

6classeur1-xlsx.pdf (200.29 Ko)
Rechercher des sujets similaires à "manipuler nom fichier interpreter comme lien"