Récupération de données dans fichiers fermes

Bonjour à tous,

J'ai une centaine de fichiers Excel placée sous C:\TEST\ dont je souhaite récupérer dans chacune des feuilles nommée "Feuil1" la valeur des cases A1, A2, A3, A4 et A5 pour les mettre dans un fichier Excel, à partir de la ligne 5, colonne B.

Ces valeurs sont des noms fichiers, dates, références, commentaires....

J'ai essayé plusieurs macros en adaptant des exemples avec la fonction RefersToRange mais je n'arrive à rien.

Quelqu’un a déjà eu ce besoin ?

Re

J'en suis arrivé à cela :

Sub LoopThruFiles()

Dim place As String
Dim FilesArray() As String, FileCounter As Integer
Dim FName As String, LoopCounter As Integer

  FName = Dir("C:\TEST\*.xlsx")
  Do While Len(FName) > 0
    FileCounter = FileCounter + 1
    ReDim Preserve FilesArray(1 To FileCounter)
    FilesArray(FileCounter) = FName
    FName = Dir()
  Loop
  If FileCounter > 0 Then
    Application.ScreenUpdating = False
    For LoopCounter = 1 To FileCounter

    x = LoopCounter
    'calcul de la plage de destination
    place = Range(Cells((((x - 1) * 6) + 2), 2), Cells(((x * 6)), 6)).Address
    GetValues "C:\TEST\", FilesArray(LoopCounter), "Feuil1", "$A$1:$A$5", place
    Next
    Application.ScreenUpdating = True
  End If
End Sub

Sub GetValues(fPath As String, FName As String, sName, _
              cellRange As String, place As String)
'recopie une plage des valeurs externes dans une plage de
'la feuille active sous forme d'une formule matricielle
  With ActiveSheet.Range(place)
    .FormulaArray = "='" & fPath & "\[" & FName & "]" & sName & "'!" & cellRange
    .Value = .Value
  End With
End Sub

Je ne maitrise pas les codes utilisés et joints une image de se que je voudrai obtenir...

Je continue de tester

25recup.pdf (18.07 Ko)
Rechercher des sujets similaires à "recuperation donnees fichiers fermes"