Transfert de données provenant de differents onglets

Fermé
Don diégo - 23 juil. 2014 à 15:19
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 23 juil. 2014 à 16:35
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.
A voir également:

4 réponses

Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
23 juil. 2014 à 16:03
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
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 739
23 juil. 2014 à 16:07
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
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
23 juil. 2014 à 16:18
Il n'exite pas de formule qui fait ça mais tu peux la crée.

Tu veux que je te donne la soluce ?
0
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
Modifié par skk201 le 23/07/2014 à 16:38
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