Classeurs liés avec variable

Bonjour à tous,

Je souhaiterais pouvoir récupérer le contenu d'une cellule d'un autre fichier et pouvoir y intégrer une variable pour le mois.

Exemple :

Fichier [01_2017.xlsx] : Cellule B2 contient ma valeur 250.

Fichier [Récap.xlsx] : Cellule G4 : ='C:\Users\Desktop\[01_2017.xlsx]Feuil1'!$B$2

J'aimerais pouvoir faire du 01 et du 2017 deux variables pour récupérer le contenu d'une cellule.

Auriez-vous une solution?

Je vous remercie d'avance pour vos réponses et vous souhaite une bonne journée!

Bonjour,

De ce que j'ai compris, il me semble que la question revient régulièrement ...

  • Par formule "classique" ça ne va pas fonctionner: on pourrait utiliser la fonction INDIRECT, pour résoudre le problème, mais celle-ci implique que les "fichiers cibles" soient ouverts.
  • Un Add-In peut être installé (Morefunc de Laurent Longre) qui fournit une fonction INDIRECT.EXT, laquelle n'impose pas que les fichiers cibles soient ouverts.
  • Une macro événementielle peut être écrite, qui modifie la formule en G4, dès que les cellules A2 ou B2 sont modifiées (ces deux dernières contenant respectivement le mois et l'année). Ça donnerait quelque chose comme:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [A2:B2]) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If [A2] = "" Or [B2] = "" Then Exit Sub
        Application.EnableEvents = False
        [G4].Formula = "='D:\Raoul\[" & Format([A2], "00") & "_" & [B2] & ".xlsx]Feuil1'!B2"
        Application.EnableEvents = True
    End If
    End Sub

    ... à coller dans la fenêtre de code de la feuille concernée
    Le D:\Raoul\ étant à adapter

Merci pour votre réponse.

Je vais tester tout ça !

Bon w-e à vous.

Rechercher des sujets similaires à "classeurs lies variable"