Microsoft 365 XLOOKUP

MLIZIN

XLDnaute Junior
bonjour à tous,
voici le soucis :
j'utilisais VLOOKUP pour afficher des données en provenance d'un fichier dans un autre fichier. Pas de soucis
Maintenant j'ai créer des tableaux dans chaque fichier et j'utilise XLOOKUP afin d'afficher dans un autre tableau les données, donc plus de références pour les Cells mais des noms de colonne. Parfait, MAIS mon fichier source doit être ouvert sinon #Ref dans le fichier cible, c'est un peu embêtant car je dois ouvrir plusieurs fichiers sources. Avez-vous une solution pour palier a ce souci ou bien c'est une fatalité ?
Merci d'avance
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Mlizin,
Pour cela il vous faut connaitre l'emplacement, le nom du fichier et le nom de la feuille concernée.
Par ex si le fichier cible est :
C:\Users\PC_PAPA\Desktop\XLD\Ex.xlsx
La feuille Feuil1
Alors même fichier fermé vous pouvez y accéder avec :
VB:
=RECHERCHEV("Data10";'C:\Users\PC_PAPA\Desktop\XLD\[Ex.xlsx]Feuil1'!$A$1:$E$20;5;FAUX)
Attention à la syntaxe, ne pas oublier les [, ] et '.

A noter qu'on pourrait simplifier avec la fonction Indirect, sauf que cette fonction ne marche pas sur un fichier fermé.:(
Autre simplification possible : utiliser une fonction perso en VBA.
 
Dernière édition:

MLIZIN

XLDnaute Junior
Bonjour sylvanu,
Je joins 2 fichiers en exemple, le fichier Room List qui est le fichier source, celui comprend
3 onglets donc 3 tables :
  • Room List : me permettant de créer la liste des locaux et leur numéro
  • Physical Data Rooms : me permettant d'introduire les dimensions des locaux
  • Rooms LIST Synthesis : c'est l'onglet source pour l'ensemble des autres fichiers
et fichier AHU List qui est le fichier cible, celui-ci comprend 2 onglets donc deux tables :
  • DATA ROOMS : avec des XLOOKUP vers le fichier Room List
  • ROOM AHU : qui attribue à chaque local un groupe de ventilation
L'emplacement est TJRS le même dans un projet, MAIS dans deux folders différents.
Il y a plusieurs projets en même temps donc les fichiers Templates sont copier dans chaque projet.

en espérant ainsi être un peu plus clair dans le souci évoqué dans mon courriel précédent.

Merci d'avance pour votre temps
 

Pièces jointes

  • AxxMEyyy-DPS-FORM-HV-0003-AHU List for FORUM.xlsx
    344.5 KB · Affichages: 1
  • AxxMEyyy-DPS-FORM-ZZ-0002-Rooms List FORUM.xlsx
    188.9 KB · Affichages: 3

MLIZIN

XLDnaute Junior
Re bonjour,
Voici la formule que j'utilisais avant : =VLOOKUP($C6,'P:\2020\A20ME037\03 Project Co-ord\03.16 Co-ord Reports Discipline\02 CALCS\[A20ME037-XXX-FORM-ZZ-0002-Rooms List.xlsx]Rooms LIST Synthesis'!$A$10:$D$412,3)
C6 étant l'index unique de la ligne. Cela correspond, sauf si je me trompe, à votre formule, sauf [Ex.xlsx]Feuil1'! . Peut-être que cette différence est due à la version anglaise d'Excel ? Cela fonctionnait parfaitement. Mais si j'ajoute une colonne dans mon fichier source. Je dois changer dans l'ensemble de mes fichiers cibles le numéro de colonne. Ce qui n'est pas le cas avec XLOOKUP
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
C'est mieux avec l'explication.
Si vous ajoutez une colonne dans le fichier source, je ne vous pas comment le Recherchev le sait et adapte le N° de colonne.
Ensuite je ne dispose pas de XLOOKUP, étant sous 2007, donc je ne peux guère plus vous aider. Je pensais que son fonctionnement était compatible de VLOOKUP.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Mais si j'ajoute une colonne dans mon fichier source. Je dois changer dans l'ensemble de mes fichiers cibles le numéro de colonne
Peut être une solution en remplaçant dans la formule le N° de colonne par un Equiv avec le titre à rechercher. Dans ce cas cette données s'adaptera même si on rajoute des colonnes.
Ex en PJ.
 

Pièces jointes

  • Classeur1.xlsx
    9.1 KB · Affichages: 1

Discussions similaires

Réponses
2
Affichages
548
Réponses
9
Affichages
319

Statistiques des forums

Discussions
314 771
Messages
2 112 768
Membres
111 653
dernier inscrit
Vanie0082