XL 2016 Récupérer donnée d'une cellule d'un autre fichier sans l'ouvrir

D10

XLDnaute Junior
Bonjour,

J'ai besoin de votre aide. :)

J'ai un dossier dans lequel il y a environ 300 fichiers Excel, qui sont tous identiques à part les données qui sont dans chacun d'entre eux.
Mon but centraliser dans un seul fichier les données d'une cellule précise de ces fichiers.

Je souhaite créer un fichier excel dans lequel je veux:
Colonne A: liste des noms des fichiers. (Exemple1.xls, Exemple2.xls,....)
Colonne B: Récupérer (sans ouvrir les fichiers bien sur) pour chacun de ces fichiers listés en A, la donnée qui est dans une cellule précise par exemple K5.

Avez-vous une idée ? un code ? une formule ?

Merci d'avance!

D10
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir D10,
Un vieux code qui était dans mes archives :
VB:
Sub LireFichierFermé()
Dim Fichiersource As String
Dim Cheminsource As String
Dim Formule As String
  Cheminsource = "I:\G_AMEC\ETAT AMEC2\Etat AMEC 2 \"
  Fichiersource = "Etat AMEC 2 (version 2).xlsm"
  Formule = "='" & Cheminsource & "[" & Fichiersource & "]calculs'!H9"
  With Worksheets("RECAP").Range("F49")
    .Value = Formule
    .Value = .Value
  End With
End Sub
 

patricktoulon

XLDnaute Barbatruc
bonsoir
bon d'accords on sort les archives ;)
@sylvanu sans passer par la mise en place de la formule puis conversion en value
directement en .value dans destination
VB:
   Dim Fichiersource As String
    Dim Cheminsource As String
    'Dim Formule As String
    Dim Arg As String
    Cheminsource = "I:\G_AMEC\ETAT AMEC2\Etat AMEC 2 \"
    Fichiersource = "Etat AMEC 2 (version 2).xlsm"
    'Formule = "='" & Cheminsource & "[" & Fichiersource & "]calculs'!H9"
        cellule = Range("H9").Address(, , xlR1C1)    'conversion address en R1C1
    'construit l'argumentation
    Arg = "'" & Cheminsource & "[" & Fichiersource & "]calculs'!" & cellule
    With Worksheets("RECAP").Range("F49")
        .Value = Application.ExecuteExcel4Macro(Arg)
        '.Value = Formule
        '.Value = .Value
    End With
End Sub
un autre exemple encore plus ancien

cette fois ci c'est une fonction

VB:
Sub test()
    Dim chemin$, fichier$, feuille$, cellule As Range
    chemin = "C:\Users\polux\Desktop"
    fichier = "hhhhhtml.xls"
    feuille = "Feuil1"
    Set cellule = Range("c4")
    MsgBox GetVal_on_closed_fich(chemin, fichier, feuille, cellule)
End Sub

Function GetVal_on_closed_fich(ByVal chemin As String, ByVal fichier As String, ByVal feuille As String, cel As Range) As String
    Dim Rc$
    Rc = "R" & cel.Row & "C" & cel.Column
    GetVal_on_closed_fich = ExecuteExcel4Macro("'" & chemin & "\[" & fichier & "]" & feuille & "'!" & Rc)
End Function
 
Dernière édition:

D10

XLDnaute Junior
Merci à vous ! ;)
Comment faire pour la liste des 300 fichiers qui sont nommés en colonne A ?
 

D10

XLDnaute Junior
Et dans le détail du code ça donnerait quoi ? :D je ne suis pas (encore) expert.
j’adapterai ensuite
 

patricktoulon

XLDnaute Barbatruc
re
tu pourrais commencer par faire des recherches sur DIR ,les boucles des exemples il y en a à foison dans le forum
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas