Récupère Noms du fichier principal, PB Récupération des datas des Feuilles

wdorvilma

XLDnaute Nouveau
J'arrive à ouvrir, le repertoire et je recupére les noms des fichiers exls
pFld = "C\documents"
Set Rep = CreateObject("Scripting.FileSystemObject").GetFolder(pFld)
For Each FileItem In Rep.Files 'Pour chaque fichier, instructions

Maintenant je souhaite ouvrir chaque fichier xls et récupérer dans chaque feuille les données que je veux
Workbooks.Open ThisWorkbook.Path & "\" & NomF

For Each Feuil in Sheets
Instructions de récupérations de données
Next Feuil

J'ai l'erreur 1004 : si tu essais d'ouvrir le fichier à partir de votre plus récent nom hors pour le moment j'ai pas modifié le nom du fichier.
 

wdorvilma

XLDnaute Nouveau
Re : Récupère Noms du fichier principal, PB Récupération des datas des Feuilles

pFld = C:\Documents and Settings\wdorvilma\My Documents\6.00 Project Cost control\TS system\Fichier à traiter
If pFld <> "" Then '--- Si le chemin n'est pas vide alors récupérer les valeurs
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set Rep = oFSO.GetFolder(pFld)

For Each FileItem In Rep.Files 'Pour chaque fichier,
Set Commentaires = principal.Sheets(1).Range("I" & lign)
Set LienF = principal.Sheets(1).Range("D" & LigD)
Set OK = principal.Sheets(1).Range("F" & LigD)
Set Semaine = principal.Sheets(1).Range("G" & LigD) 'récupérer La semaine
Set NomF1 = principal.Sheets(1).Range("E" & LigD)
NomF = principal.Sheets(1).Range("E" & LigD)
ActiveSheet.Hyperlinks.Add LienF.Offset(1), FileItem.Path
NomF1.Offset(1) = FileItem.Name ' lien du fichier excel
OK.Offset(1) = Mid(Left(NomF, InStr(NomF, ".")), 1, 2) ''rechercher les fichiers traitées ou non, si le fichier n'est pas traité alors
Semaine.Offset(1) = Mid(NomF, 2, 2) 'donne le numéro de la semaine

'If Feuil <> "" Then ' on verifie qu'il existe une feuille dans ce putain de fichier
'Open ThisWorkbook.Path & "\" & FileItem


'
For Each Feuil In Rep.Files()

If Feuil > 1 Then
Set DateD = principal.Sheets(2).Range("A" & lign)
Set NS = principal.Sheets(2).Range("B" & lign)
Set Nom = principal.Sheets(2).Range("C" & lign)
Set Wo = principal.Sheets(2).Range("D" & lign)
Set Task = principal.Sheets(2).Range("E" & lign)
Set DelayCode = principal.Sheets(2).Range("F" & lign)
Set Per = principal.Sheets(2).Range("G" & lign)
Set Hrs = principal.Sheets(2).Range("H" & lign)
n = Range("B" & Rows.Count).End(xlUp).Row
For l = 10 To n 'ligne de 1 à 35
Set plg = Cells(l, r)
Set NomD = Worksheets(y).Range("B" & l)
Set NSD = Worksheets(y).Range("C" & l)
Set WOD = Worksheets(y).Cells(4, r)
Set TaskD = Worksheets(y).Cells(l, r)
Set DateData = Worksheets(y).Range("B7")

For r = 15 To 40 ' Colonne
If plg <> "" Then
DateD.Offset(1) = DateData
NS.Offset(1) = NSD
Nom.Offset(1) = NomD
Wo_Offset(1) = WOD
Task.Offset(1) = TaskD
End If
lign = lign + 1
Next r
Next l
End If
Next Feuil
LigD = LigD + 1 'passer à la ligne suivante
Next FileItem
End If
Next i
MsgBox "Le traitement des fichiers est terminé.", vbInformation, "Traitement..."
 

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 713
Membres
103 377
dernier inscrit
fredy45