Fichiers excel : parametrage dans une cellule

Résolu
Bonjour,

Je voudrais bien arriver à faire la chose suivante:
j'ai un fichier excel avec une cellule où je mets un nom de fichier excel "truc.xls" qui change à chaque fois.
je voudrais alors que dans la feuille courante je puisse avoir dans une cellule "X" le contenu d'une cellule"Y" du fichier truc.xls.

merci pour votre aide

K1954
Configuration: Windows XP
Opera 9.80

5 réponses

  1. Contributeur
    "en fait ma question est simple"
    ... en apparence seulement, car tu veux rechercher des infos dans un fichier fermé ! c'est comme chercher des vêtements dans une valise fermée : la question est simple, mais l'action impossible.
    2
    1. Bonjour,

      Essaie ceci. Met un égal dans ta cellule x, puis dans ton fichier truc selectionne ta cellule Y.

      Sinon pour plusieurs cellules il faut utiliser ceci ='[truc.xls]Feuil1'!A1

      truc = nom de ton fichier, Feuil1 = nom de ta faeuille, A1 = ta cellule à copier

      Après tu fais glisser.

      voila ça devrait te suffir
      0
      1. bonjour et merci bien pour cette réponse
        il y a juste 2 soucis :
        1) le fichier truc.xls doit être ouvert dans excel pour que ça marche, or dans mon application il doit être fermé.
        2) je voudrais éviter de modifier la formule à chaque fois, en fait je voudrais juste taper le nom du fichier dans une case et qu'excel aille le lire dans cette case pour ensuite le prndre en compte dans la formule.
        exemple: je tape truc.xls dans la case A1, et je voudrais que dans la case B2 il apparaisse le contenu de le cellule C3 de la feuille truc.xls actuellement fermée.
        J'ai recherché un peu les demandes précédentes sur le même thème, mais les réponses sont du chinois pour moi.

        Merci d'avance
        K1954
        0
        1. Contributeur
          bonjour

          c'est possible malgré l'affirmation péremptoire qui dit le contraire

          voir demo ci jointe
          https://www.cjoint.com/?lhpOWH0ytF

          tes 2 fichiers dans le m^me dossier
          cellule à copier B3 dans fichier "source.xls"
          dans fichier de travail "wwww.xls"
          nom du fichier variable dans A3, résultat en A4

          tu fais un copier de la macro ci dessous
          clic droit sur l'onglet de la feuille de réception de la valeur cherchée dans le fichier fermé
          visualiser le code
          coller
          tu adaptes au besoin aux adresses de tes cellules

          Private Sub Worksheet_Change(ByVal Target As Range)
          
          If Target.Address = "$A$3" Then
          If IsEmpty(Target) Then: Exit Sub
          chemin = ThisWorkbook.Path
          'macro dite de Walkenbach
          Range("A4") = ExecuteExcel4Macro("'" & chemin & "\[" & Target & "]Feuil1'!R3C2")  'R3C2= B3
          End If
          End Sub


          il faut que outils-macro- sécurité soit en "sécurité moyenne"

          0
        2. @michel_mUN GRAND MERCI ! Vous me sortez une belle épine du pied.
          0
      2. Contributeur
        " ... mais les réponses sont du chinois pour moi."
        Normal, vu que la question, c'est un mélange de japonais et de swahili ...
        As-tu essayé avec les liens hypertextes ?
        0
        1. oui et ça ne permet pas de contourner le problème, en fait ma question est simple et se décompose ainsi:
          1.il s'agit d'aller chercher des informations dans un fichier excel fermé dont on connait le nom.
          2.on ne veut pas rentrer le nom du fichier dans toutes les cellules qui sont concernées, on veut le rentrer une seule fois parce qu'il peut changer.
          0
      3. Contributeur
        Je ne pensais pas que kobalt1954 fut intéressé par une solution VBA.
        C'est pourquoi je n'ai pas fait mention de l'écriture d'une macro.
        Du coup, on dispose d'un "rossignol" pour forcer la serrure de ma valise ...
        1