Extraire une cellule de plusieurs feuilles

Bonjour tous

J'ai choisis votre Forum pour vous solliciter un peu d'aide, car je ne trouve pas la solution avec mes moyens.

J'ai plus de 50 fichiers Excel dans un répertoire. Ces fichiers contiennent des montants. Le total de ces montants par feuille est toujours dans la même cellule (I7).

Je souahiterais avoir une feuille (Master) qui pourrait extraire la cellule I7 de ces 50 fichiers.

Exemple de nom de fichier: 16501108.XLS

le 1650 est la référence de l'entreprise (variable en fonction de l'entreprise)

11 est l'année

08 le mois.

Les 50 fichiers sont enregistrés sur un lecteur réseau dont le chemin est Q:\CLIENTS\2011\201108

Ce dernier répértoir varie selon le mois.

L'idée serait donc une feuille, où je définis le mois et l'année, et où j'exécute une macro qui va chercher la cellule i7 par fichier, en fonction d'une liste établie ...

J'ai essayé à l'aide de "RECHERCHEV"

=RECHERCHEV(A4;'Q:\CLIENTS\2011\201108\[16501108.XLS]16501108'!$C$1:$I$1;7;FAUX)

Le problème que j'ai lors de l'établissemen tde la macro, c'est que le chemin d'accès (que je recherche/remplace) se modifie et qu'il me demande quand même le chemin d'accès après coup.

Je suis dans l'impasse, et ne pense donc pas que mon approche soit la bonne.

Mais je suis certain de m'adresser à des cracks!

Je vous remercie par avance pour votre aide et vous souhaite une bonne journée en attendant.

zh001

Salut le forum

Technique de travail sur classeurs fermés.

'récupère dans une série de classeurs fermés (dans le même répertoire)
'les valeurs d'une plage et les écrit dans la feuille active

Sub LoopThruFiles()
'Ron De Bruin, mpep
Dim place As String
Dim FilesArray() As String, FileCounter As Integer
Dim FName As String, LoopCounter As Integer

  FName = Dir("c:\*.xls")
  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) * 10) + 2), 1), Cells(((x * 10)), 3)).Address
    GetValues "c:", FilesArray(LoopCounter), "Blad1", "a1:c10", 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

Mytå

Bonjour

Tout d'abord toute mes excuses pour ne pas avoir répondu plus tôt!

Merci pour la rapidité et l'efficacité de la réponse!

C'est parfait, exactement ce que je recherchais.

Après avoir adapté quelque peu un ou 2 paramètres c'est impeccable.

MERCI encore et bravo!

Rechercher des sujets similaires à "extraire feuilles"