Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Wffset(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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…