XL 2019 Fichier de synthèse

SoFar

XLDnaute Nouveau
Bonjour tout le monde.

Je ne sais pas vraiment l'expliquer mais voila mon problème :

J'ai dans mes fichiers classeur1 et classeur2 un tableau, et je veux le récupérer dans mon fichier Récap. J'utilise donc la fonction Index avec l'adresse de mon tableau.
Ce que je voudrais, c'est pouvoir mettre une variable dans mon fichier récap de manière a pouvoir récupérer soit le tableau du fichier classeur1 soit du fichier classeur2. Je n'ai pas besoin des deux en même temps, je veux juste pouvoir basculer de l'un a l'autre en changeant une seule case.(La case jaune dans l'exemple)

Une dernière précision, les fichier classeur1 et 2 sont fermés. Je ne veux pas avoir à les ouvrir à chaque fois.

J'espère avoir été assez clair. Je joins un fichier pour montrer la situation.

Merci d'avance !

SoFar
 

Pièces jointes

  • Classeur1.xlsx
    8.6 KB · Affichages: 7
  • Classeur2.xlsx
    9.6 KB · Affichages: 6
  • Récap.xlsx
    10.4 KB · Affichages: 4

chris

XLDnaute Barbatruc
Bonjour

Pas possible par formule sauf à ouvrir les 2 fichiers (utilisation de INDIRECT)

Avec ta version il serait plus simple et efficace d'utiliser PowerQuery (totalement intégré)

Cependant ton exemple semble très schématique et la requête sera à adapter...
 

Pièces jointes

  • Récap_PQ.xlsx
    19.1 KB · Affichages: 5

SoFar

XLDnaute Nouveau
Merci pour la réponse Chris.

Je ne connais pas du tout PowerQuery mais en récupérant le fichier ça ne fonctionne pas, je reste bloquer avec les valeurs du fichier 2, peut importe ce que je fais.
Et pour revenir au problème de base, il me faudrait vraiment quelque chose qui me permet de changer une variable dans mon adresse de fichier, car il me faut un fichier que je puisse utiliser sur plusieurs années.
 

chris

XLDnaute Barbatruc
RE

Tu as 2 cellule en jaune qui contiennent les chemins des fichiers : mets le chemin et nom correspondant à ton contexte, utilise ensuite la liste déroulante pour choisir l'une des entrées puis Données, Actualiser Tout

On peut ajouter une ligne de VBA pour déclencher l'actualisation au changement de choix
 

SoFar

XLDnaute Nouveau
RE

Tu as 2 cellule en jaune qui contiennent les chemins des fichiers : mets le chemin et nom correspondant à ton contexte, utilise ensuite la liste déroulante pour choisir l'une des entrées puis Données, Actualiser Tout

On peut ajouter une ligne de VBA pour déclencher l'actualisation au changement de choix
Ca me met que le fichier est introuvable alors qu'il est sur mon bureau et que je met "C:\Users\Moi\Desktop\[Classeur1.xlsx]" en chemin

auriez vous une idée de la raison?
 

chris

XLDnaute Barbatruc
RE
Il suffit d'une procédure événementielle dans le module de la feuille

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [Fichier]) Is Nothing Then ThisWorkbook.RefreshAll
End Sub
 

job75

XLDnaute Barbatruc
Bonsoir SoFar, chris,

Ouvrir les 3 fichiers et en C5 du fichier Récap.xlsx entrer la formule de liaison :
VB:
=SI(H$2=1;[Classeur1.xlsx]Feuil1!C5;SI(H$2=2;[Classeur2.xlsx]Feuil1!C5;""))
A tirer vers le bas.

La formule fonctionne avec les 2 fichiers sources fermés.

A+
 

Pièces jointes

  • Récap.xlsx
    11.5 KB · Affichages: 5
  • Classeur1.xlsx
    8.7 KB · Affichages: 4
  • Classeur2.xlsx
    9.7 KB · Affichages: 3

Discussions similaires

Réponses
15
Affichages
693

Statistiques des forums

Discussions
312 211
Messages
2 086 298
Membres
103 171
dernier inscrit
clemm