Mettre une fonction dans une fonction entre crochets

rerwan

XLDnaute Nouveau
Bonjour,

J'ai besoin de votre aide car je ne sais pas si c'est possible.
Je m'explique,
Je récupère la valeur de B10 d'un autre fichier excel, via cette formule:

=[S52.xls]Tableau!B10

J'ai une colonne qui contient les semaines de l'année "S51", "S52" etc...

Plutôt que de faire des copier coller toutes les semaines de ma formule (en changeant manuellement le nom du fichier (S50.xls, S51.xls etc), je voudrais que ma formule aille cherche le fameux texte "S51" dans ma colonne.
Un genre de =CONCATENER(A10) (qui donne S52 en résultat) mais à inclure dans les [ ] de ma fonction.
En clair, une sorte de formule ressemblant à ça : =[CONCATENER(A10).xls]Tableau!B10, mais ça me marque nom de fichier invalide... j'ai beau essayer des "" des '' ou des () mais rien n'y fait.

Merci de votre aide.
 

Tibo

XLDnaute Barbatruc
Re : Mettre une fonction dans une fonction entre crochets

Bonjour,

Tu souhaites récupérer des données de fichiers externes.

Si les fichiers source sont ouverts, la fonction INDIRECT peut venir à ton secours. Ca donnerait :

Code:
=INDIRECT("["&A10&".xls]Tableau!B10")


Si les fichiers source sont fermés, tu peux installer une macro complémentaire de Laurent Longre. Cette macro s'appelle MOREFUNC. Tu peux la trouver sans souci sur le Net.

Après l'avoir installée, tu auras une nouvelle fonction : INDIRECT.EXT qui fonctionne comme INDIRECT, mais permet de travailler avec des fichiers fermés.

Je te laisse essayer.

@+
 

rerwan

XLDnaute Nouveau
Re : Mettre une fonction dans une fonction entre crochets

Superbe, merci pour la réponse rapide.
INDIRECT fonctionne a merveille oui, par contre je me voit mal en fin d'année, ouvrir les 52 fichiers excels pour que la formule puisse travailler ^^
Alors si j'ai bien compris je dois utiliser MOREFUNC, ce que j'ai fait, je l'ai installé et la formule INDIRECT.EXT apparait bien.
Mais j'ai un soucis au niveau de ma formule, je ne sais pas trop comment l'utiliser:

=INDIRECT.EXT("[c:\rerwan\"&A10&".xls]Tableau!B10")
Ca ne marche pas (#REF!), désolé je suis débutant je vois pas trop ou placer le chemin d'accès au fichier.
 

rerwan

XLDnaute Nouveau
Re : Mettre une fonction dans une fonction entre crochets

Je pense avoir trouvé:
=INDIRECT.EXT("'c:\rerwan\["&A10&".xls]Tableau'!B10")


edit: voilà je confirme ça fonctionne super bien comme ça.
Si j'ai bien tout compris ça ouvre une instance caché d'excel, j'espère que ça fera pas trop ramer le serveur (j'utilise excel en session TSE).

Encore merci :)
 
Dernière édition:

Zaka67

XLDnaute Nouveau
Re : Mettre une fonction dans une fonction entre crochets

Bonjour,

Tu souhaites récupérer des données de fichiers externes.

Si les fichiers source sont ouverts, la fonction INDIRECT peut venir à ton secours. Ca donnerait :

Code:
=INDIRECT("["&A10&".xls]Tableau!B10")


Si les fichiers source sont fermés, tu peux installer une macro complémentaire de Laurent Longre. Cette macro s'appelle MOREFUNC. Tu peux la trouver sans souci sur le Net.

Après l'avoir installée, tu auras une nouvelle fonction : INDIRECT.EXT qui fonctionne comme INDIRECT, mais permet de travailler avec des fichiers fermés.

Je te laisse essayer.

@+
Merci
 

chris

XLDnaute Barbatruc
RE
C'est surtout 365 qui pose problème car installé par défaut en 64 bits

Néanmoins même avec 2016 dans nombre de cas on a intérêt à utiliser des technologies récentes intégrées à Excel comme PowerQuery

Il faut voir au cas par cas
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel