Afficher le contenu d' une cellule d' un autre classeur

Bonjour,

J' aimerais pouvoir afficher dans une cellule d' un premier classeur, le contenu d' une autre cellule qui se trouve dans un second classeur.

J' ai joint un fichier excel expliquant un peu plus et un peu mieux ce que j' aimerais pouvoir faire.

Cordialement,

Bonjour,

Le plus simple c'est de le faire une fois manuellement, tu ouvre les classeurs un à un et tu "montre" à excel ce que tu veux

Tu va avoir une formule du genre

='[Sheet1.xls]Feuil1'!$A$125

A+

Bonsoir,

Merci pour ta réponse lermite.

Cette formule pourrais me suffire si j' utilisais toujours les mêmes classeurs, mais ce n' est pas le cas ( je devrais donc toujours ouvrir les classeurs, ce qui rendrait cette formule inutile) Tu n' aurais pas une formule ou une macro qui me permettrais de ne pas devoir ouvrir tous les classeurs " référencés" ?

Cordialement,

Re,

Tu le fais une fois, ensuite il ne faut plus ouvrir les classeurs.

A+

Bonjour,

Dans le fichier que j' ai joint, j' ai indiqué posséder 5 classeurs sous le nom Sheet1, Sheet2... mais ce n' est qu' un exemple. J' en possède bien plus, et beaucoup.

Avec la formule que tu m' as donné, je vais devoir ouvrir tous les classeurs ( ce qui est plutôt "fatigant", pour ne pas dire autre chose, puisque je dois répéter la même manœuvre avec tous les classeurs, - qui sont environ plusieurs centaines-, qui consiste à ouvrir, ouvrir et ouvrir...)

Je cherche donc une macro qui me permettrais d' effectuer cette tache, qui consiste à indiquer dans la cellule C2, ce que contient la cellule x d' une feuille x d' un classeur x fermé mais dont on connait l' adresse, et tout ceci sans avoir à ouvrir les classeurs manuellement.

Cordialement

Ce serait 1000 fois plus simple si tu exposais directement ton problème, ça éviterait de multiple réponses qui ne conviennent pas.

Ensuite tu dis...

head_tatty a écrit :

Je cherche donc une macro qui me permettrais d' effectuer cette tache, qui consiste à indiquer dans la cellule C2, ce que contient la cellule x d' une feuille x d' un classeur x fermé mais dont on connait l' adresse, et tout ceci sans avoir à ouvrir les classeurs manuellement.

le nom des classeurs est où ?

Ou bien ils sont tous dans le même répertoire ?

La feuille X c'est toujours la même ?

La cellule X c'est toujours la même ?

Bonsoir,

J' ai cru avoir très bien expliqué et exposé mon problème

As-tu ouvert le fichier nommé Excel-pratique25.03.12.xls que j' ai joint lors de mon premier post ? On dirais pas

Le nom des classeurs est dans la colonne A et ils sont tous situés dans un même dossier.

La feuille X est toujours Feuil1.

La cellule X n' est pas toujours la même.

J' ai vraiment pas l' impression que tu as ouvert mon fichier, pourtant j' y explique très bien quel est mon problème. C' est tellement plus facile d' expliquer et de comprendre avec un fichier plutôt que d' essayer de faire comprendre dans un post. ( et sans réussir à faire comprendre).

Cordialement,

A tester,

Sub ExtraireData()
Dim Pt As String, Lig As Integer, Ad As String
Dim Cel As Range
    Pt = "C:\Users\user\Documents\Sheets\"
    Application.ScreenUpdating = False
    For Lig = 2 To Range("A" & [A10000].End(xlUp).Row)
        With Sheets("feuil1")
            Ad = .Cells(Lig, 2)
            Set Cel = .Cells(Lig, 3)
        End With
        With Workbooks.Open(Pt & Cells(1, Lig).Value & ".xls")
            Cel = .Sheets("Feuil1").Range(Ad)
            .Close
        End With
    Next Lig
    Application.ScreenUpdating = True
End Sub

Tu dis...

Bonjour,

Après avoir exécuté la macro, voici ce qui s' affiche :

Erreur d' exécution '13':

Incompatibilité de type

sur quel ligne

For Lig = 2 To Range("A" & [A10000].End(xlUp).Row)

j'ai pas testé, j'ai pas ton contexte.

Correction :

For Lig = 2 To Range("A10000"].End(xlUp).Row)

Re,

Alors maintenant c' est :

Erreur d' exécution '424'

Objet requis

- et c' est toujours la même ligne qui est surlignée

Bonsoir

essayes

For Lig = 2 To Range("A10000").End(xlUp).Row

Bonjour,

Ça a l' air de mieux marcher avec la formule de Banzai64, mais ça marche uniquement avec le premier classeur nommé Sheet1, c' est-à-dire que la macro remplace le premier "?" par ce que contient la cellule concernée du classeur Sheet1 mais elle ne remplace pas les autres "?" des classeurs Sheet2, 3, 4 et 5, puis affiche un message d' erreur :

Erreur d' exécution '1004':

'C:\Users\user\Documents\Sheets\Contenu.xlsx' est introuvable. Vérifier l' orthographe du nom du classeur et la validité de l' emplacement.

Si vous essayez d' ouvrir le fichier à partir de la liste des fichiers les plus récents, assurez vous que le fichier n' a pas été renommé, déplacé ou supprimé.

Le nom des classeurs est noté à partir de la cellule A2 et donc toujours dans la colonne A, alors pourquoi la macro "sélectionne" la cellule C1 ( cad celle où il est écrit "Contenu") ?

J' ai joint le fichier dans lequel j' ai exécuté la macro.

A re tester

9525-04.xlsm (15.03 Ko)

Bonjour,

Ça marche, c' est parfait ! Merci beaucoup pour votre aide lermite, et Banzai64 .

Le seul petit dernier souci est, pendant que la macro fait son travail, elle me demande, après avoir ouvert un premier classeur, si j' aimerais enregistrer les modifications, et je clique toujours sur non, puis me le redemande après ouvert le second classeur... Y aurait-il donc un moyen pour qu' elle cesse de me demander si j' aimerais enregistrer les modifications ?

Rechercher des sujets similaires à "afficher contenu classeur"