Transfert de données provenant de differents onglets

Bonjour,

Je suis a la recherche d'une formule me permettant de rapatrier les informations d'une cellule dans un autre classeur, En entrant simplement le nom de l'onglet (Car il y a plusieurs onglets dans le classeur) dans lequel celle ci ce trouve (la cellule).

afin d'être plus clair voici des infos complémentaires :

La cellule recherchée se trouvent toujours à la même place (c'est a dire H249) mais pas toujours dans le même onglet (Exemple : "M13-001", "M13-002", etc...). L'onglet ce trouve dans le classeur "Marseille - Bordereau".

Donc en inscrivant le nom de l'onglet (Exemple: M13-001)dans une cellule du classeur "récapitulatif" j'aimerai retrouvé l'information de la cellule H249 de l'onglet M13-001 du classeur Marseille - Bordereau.

Bien a vous.

4 réponses

  1. Je vais alors proposer ma solution :)

    A mettre dans un module

    Public Function IMPORT(Classeur As String, Feuille As String)
    Application.DisplayAlerts = False
    Dim Classeur_Name  As String
        Classeur_Name = Right(Classeur, InStr(1, StrReverse(Classeur), "\") - 1)
    Dim Classeur_Path As String
        Classeur_Path = Left(Classeur, Len(Classeur) - InStr(1, StrReverse(Classeur), "\") + 1)
    IMPORT= ExecuteExcel4Macro("'" & Classeur_Path & "[" & Classeur_Name & "]" & Feuille & "'!R249C8")
    End Function


    La formule est :
    =IMPORT("D:\EXCEL\Marseille-Bordereau.xls","M13-001")

    ou si le nom du classeur est en A1 et que A2,A3,A4 contient les différents nom des feuilles :
    =IMPORT($A$1,A2)

    Plus qu'as tiré la formule vers le bas :)

    Cela reviens au même que les autres :)

    *Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utils"
    0
    1. Il n'exite pas de formule qui fait ça mais tu peux la crée.

      Tu veux que je te donne la soluce ?
      0
      1. Bonjour

        Avec le nom de l'onglet en A1 et le classeur Marseille-Bordereau OUVERT tu peux utiliser la fonction INDIRECT reconstituant la référence voulue :

        =INDIRECT("[Marseille-Bordereau.xls]" & A1 &"!$H$249") (modifier l'extension xls si nécéssaire)

        Par contre si tu veux lire l'info dans le classeur fermé INDIRECT ne marche pas et il faut dans la formule le chemin du fichier :

        exemple :
        ='D:\EXCEL\[Marseille-Bordereau.xls]M13-001'!$H$249

        Cdlmnt
        0
        1. Bonjour
          Essaye les formules suivantes

          En A3 le nom du classeur
          en A6 le nom de la feuille
          en A7 la cellule :type $A$6

          En cellule de ton choix = =INDIRECT(CONCATENER("'[";A3;".xlsm]";A6;"'!";A7))
          pour contrôler l'adresse = =CONCATENER("'[";A3;".xlsm]";A6;"'!";A7)

          A vérifier l'extension du fichier
          J'ai testé avec un classeur ouvert
          0