Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1695 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel] integrer un nom de fichier variable dans un RECHERCHEV

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel] integrer un nom de fichier variable dans un RECHERCHEV

n°1637517
Pouille42
Posté le 06-11-2007 à 12:18:45  profilanswer
 

Bonjour,
 
Je dispose d'un fichier Excel principal (principal.xls), et d'une liste de fichiers 'enfants' horodatés contenant des données (fichier_du_01112007.xls, fichier_du_02112007.xls, fichier_du_03112007.xls, fichier_du_04112007.xls, etc..)
 
Dans mon fichier principal.xls, je souhaite récupérer des valeurs spécifiques de mes fichiers enfants via la fonctione RECHERCHEV, afin d'obtenir un tableau comme suit  :
 
Ligne 1 : __Date__ | 01112007 | 02112007| 03112007 | 04112007 | ...
Ligne 2 : Mavaleur  | ... (valeur récupérée par RECHERCHEV dans chacun des fichiers)  
 
Voila pour les explications "préliminaires"  
 
Dans mon fichier principal, j'ai 2 choses à l'heure actuelle :  
- La formule de recherche qui fonctionne : =RECHERCHEV(A2;'\\chemin\vers\mon\fichier\[fichier_du_01112007.xls]Feuil1'!$C$1:$L$84;4;FAUX)
- La formule pour fabriquer le nom du fichier en fonction de la date
 
La ou je cale, c'est pour intégrer ce nom variable dans ma cellule RECHERCHEV :  
Si par exemple le nom de mon fichier est dans la cellule C3, comment puis je faire pour "fabriquer" la formule :  
=RECHERCHEV(A2;'<C3>Feuil1'!$C$1:$L$84;4;FAUX)
 
Merci d'avance pour votre aide

mood
Publicité
Posté le 06-11-2007 à 12:18:45  profilanswer
 

n°1637529
devil_k
Posté le 06-11-2007 à 12:31:24  profilanswer
 

Dans le principe, ça m'a l'air correct, check plutôt du coté de la syntaxe
(Genre, est-ce qu'il manquerait pas des crochets par exemple ?)
Pour faire tes tests, tu fais dans une cellule ta fonction "en dur", et sur une feuille de papier ou un autre fichier, tu prends bien ce que tu écris concaténé à la valeur de ta cellule, puis tu compares :)

n°1637548
Pouille42
Posté le 06-11-2007 à 13:01:19  profilanswer
 

Ben oui c'est bien mon problème, la syntaxe !
En d'autres termes, comment je fais pour faire interpréter la valeur de ma cellule contenant la variable, dans ma cellule contenant la formule
 
J'ai fait 2 tests depuis tout à l'heure :
 
1er test : Mettre "tout" dans la cellule C3 :  
C3 = \\Cheminfichier\[fichier]Feuil1'!$C$1:$L$84
Donc ma rechercheV devient qqch comme  
=RECHERCHEV(A2;C3;4;FAUX)
=> La le problème c'est qu'il pense que la table matrice c'est C3 et non le contenu de C3, bref raté...
 
2eme test : Mettre le minimum dans la cellule C3 :  
C3 = nomfichier
et le problème dans ma rechercheV c'est qu'il me garde des double quotes (" ) autour de mon expression, donc il ne l'interprète pas correctement non plus...
 
Ca me bouffe la rate de coincer sur un truc comme ca ! :)
 
PS, comme je suis dans le forum VBS : je fais tout uniquement dans les formules des cellules, pas en macro

n°1637768
tegu
Posté le 06-11-2007 à 17:25:11  profilanswer
 

Cherche la formule INDIRECT() dans l'aide, encore que ta référence est externe au fichier en cours et je ne sais pas si cette fonction le gère.


Message édité par tegu le 06-11-2007 à 17:25:26
n°1637982
Nico4664
Posté le 07-11-2007 à 09:33:44  profilanswer
 

Ouais, tegu a raison çà fonctionne en utilisant INDIRECT(), je viens de tester.
 
Tu indiques le chemin de ta plage de donnée dans une cellule :[fichier_du_01112007.xls]Feuil1!$C$1:$L$84
et ta formule devient : RECHERCHEV(A2;INDIRECT(cellule_qui_contient_le_nom_du_fichier);4;FAUX)  
 
Par contre il va te falloir créer une cellule pour chaque nom de fichier.

n°1641496
Pouille42
Posté le 12-11-2007 à 12:26:53  profilanswer
 

Bonjour,
 
Merci pour vos réponses
J'avais commencé à chercher du coté de la fonction INDIRECT effectivement, sans succès
Je viens de retester avec la formule que vous avez donnée et je viens de comprendre le pourquoi du comment :
 
Il faut que le fichier soit ouvert dans excel !! !! (j'ai bien les boules vu que je cherche à intégrer les données de plusieurs dizaines de fichiers sources)
En effet, sans le fichier ouvert => Erreur #REF!
Avec le fichier ouvert => Ok j'ai la valeur souhaitée...
 
Y'a t'il un moyen de s'affranchir de cette limite, ou est elle inhérente à excel ?
 
Merci

n°1641714
tegu
Posté le 12-11-2007 à 16:30:09  profilanswer
 

Je crains qu'il s'agisse d'une limite d'Excel, mais sans absolue certitude.
Un RECHERCHEV sur un fichier fermé, ça marche.
Mais en passant par le INDIRECT ça ne marche plus.
Je ne connais pas de syntaxe pour passer outre, mais je laisse le soin à d'autres de conclure sur ce point.

n°1683352
arlo
Posté le 07-02-2008 à 15:53:12  profilanswer
 

Nico4664 a écrit :

Ouais, tegu a raison çà fonctionne en utilisant INDIRECT(), je viens de tester.
 
Tu indiques le chemin de ta plage de donnée dans une cellule :[fichier_du_01112007.xls]Feuil1!$C$1:$L$84
et ta formule devient : RECHERCHEV(A2;INDIRECT(cellule_qui_contient_le_nom_du_fichier);4;FAUX)  
 
Par contre il va te falloir créer une cellule pour chaque nom de fichier.


 
 
Bonjour,
 
Je rencontre le même problème, et en essayant cette méthode, le INDIRECT à l'intérieur du RECHERCHEV ne marche pas... J'ai une erreur de type #REF!
 
Voila ce que j'ai fait dans un fichier tata.xls :
$A1 = '[toto.xls]Feuille1'!$A$1:$B$20
$A2 = RECHERCHEV(B2;INDIRECT(A1);2;FAUX)
 
Je ne comprends pas ce qui ne marche pas  [:theepsilon]
 
Merci de votre aide !

n°1683618
ingenieurc​esi33
Posté le 07-02-2008 à 20:20:52  profilanswer
 

ton fichier toto.xls est il bien ouvert ?

n°1684085
arlo
Posté le 08-02-2008 à 16:22:03  profilanswer
 


Il fallait rajouter "=" devant !
Ce qui donne :
 

="'[toto.xls]Feuille1'!$A$1:$B$20"


 
au lieu de  


'[toto.xls]Feuille1'!$A$1:$B$20


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel] integrer un nom de fichier variable dans un RECHERCHEV

 

Sujets relatifs
comment recuperer les donnees d'un fichier php dans flash?lire dans un fichier txt
Intégrer des vidéos sur Iphone / Ipod touch[macro] classement sur excel
Exploiter un fichier .raw[Question] BATCH DOS : Ecrire un retour chariot dans variable
Synchro Excel/Sqlvariable titre
Probleme avec une variable dasn un formulaireouvrir un deuxième fichier excel avec un userform
Plus de sujets relatifs à : [Excel] integrer un nom de fichier variable dans un RECHERCHEV


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR