Parcour des classeur dans un repertoire

Bonjour,

je veux faire un parcour sur tous les classeurs d'un repertoire donné,

comment je peux le faire svp?

Merci

Salut,

Ca veut dire quoi ? tu veux lister les noms de fichiers présents dans un dossier ?

souri84 a écrit :

Salut,

Ca veut dire quoi ? tu veux lister les noms de fichiers présents dans un dossier ?

en fait, j'ai un repertoire ou il y'a plusieurs classeurs, chaque classeur contient une feuille excel.

ce que je veux faire c'est:

extraire de la feuille du premier classeur une valeur d'une cellule, apres passer au classeur suivant et extraire une valeur de sa feuille, et passer au suivant, et ainsi de suite

bonsoir,

untilise une routine comme ça :

[b]Sub test()

TonRepertoire =[/b] "C:\tonchemin\"

[b]Fich = Dir(TonRepertoire & "*.xls")

Do While Fich <> ""

MsgBox Fich

Fich = Dir()

Loop

End Sub[/b]

Au lieu du MsgBox tu mettras ton code de récupération de données...

A+

Salut le forum

Galopin, je ne crois pas que ton code répond à la question.

  • Ce que je veux faire c'est:
    extraire de la feuille du premier classeur une valeur d'une cellule, apres passer au classeur suivant et extraire une valeur de sa feuille, et passer au suivant, et ainsi de suite.

Mytå

Re le forum

Une petite macro du style

'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

A adapter sur ton application

Reviens si besoin de détails, et les cellules à lire

Mytå

Re le forum

Rien ne sert de doublonner les ficelles

https://forum.excel-pratique.com/viewtopic.php?t=8612

Mytå

Rechercher des sujets similaires à "parcour classeur repertoire"