Nom de fichier en variable dans un appel de cellule?

Fermé
Kilauhea - 1 mai 2014 à 16:21
 Kilauhea - 3 mai 2014 à 21:40
Bonjour,

Je cherche à appeler des valeurs et des chaines de textes dans plusieurs fichiers assez similaires.
(ce sont des factures, je voudrai récupérer les references, montants HT et TVA etc. pour faire un bilan...).
Je sais pointer des cellules une par une en ouvrant les fichiers mais c'est long et rébarbatif.
Je me demandais si il existait une façon de mettre un nom de fichier en variable

exemple idéal :
je colle le nom de fichier dans une cellule L8 : "monfichieraimporter.xls'
et pour récupérer mes valeurs je tape...
= (L8)!totalHT (pour la cellule "totalHT)
= (L8)!reference (pour la reference) etc.
sauf que bien sur les parenthèses ne sont pas une syntaxe correcte
j'imagine qu'il y a une fonction pour cela?... et je ne trouve pas :(

bref si vous connaissez la syntaxe et/ou que vous avez une méthode pour récupérer des données répétitives dans une liste de fichiers, je vous serai reconnaissant

merci de votre attention
François

A voir également:

1 réponse

via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
Modifié par via55 le 1/05/2014 à 16:52
Bonjour

Si dans une cellule A2 tu as l'adresse complète :'monfichier'!reference, tu peux y faire référence dans une autre cellule avec INDIRECT(A2)

ou si tu veux recomposer l'adresse :
en A2 le nom sans les ' : monfichier
dans l'autre cellule : = INDIRECT("'" & A2 &"'!reference")

Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
0
justement l'adresse est en partie issus d'un nom de fichier (en variable) et en partie saisie...
l'idéal étant d'aller chercher des données ayant le même nom dans plusieurs fichiers excell

de type
'fichier1.xls'!reference
'fichier1.xls"!montantHT
"fichier1.xls'!montantTTC
puis...
'fichier2.xls'!reference
'fichier2.xls"!montantHT
"fichier2.xls'!montantTTC
etc.
donc je me disais que mettre le nom de fichier dans une cellule (ici L8 contenant 'fichier1.xls')
permettrait de faire des appels répétitifs... L8!reference puis L8!montantHT etc.
0
via55 Messages postés 14399 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 16 avril 2024 2 701
1 mai 2014 à 17:00
Oui c'est ce que j'ai rajouté dans mon premier post, tu peux recomposer l'adresse
en L8 tu mets fichier1.xls mais sans les ' (on les mettra dans la formule INDIRECT sinon ça ne marche pas)

Dans l'autre cellule tu mets INDIRECT("'" & L8 & "'!reference") une première ' entre les 2 premiers guillemets, l'autre ' avant le !

Cdlmnt
0