Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

récupération liste fichies et informations

4 réponses
Avatar
en
Bonjour

Pour faire un répertoire de suivi de mise à jour, je cherche à récupérer la
liste de tous les fichiers présents dans un répertoire (environ 200) en
récupérant également sa date de création, de dernier enregistrement, des
infos situées en B1 de la 1ere feuille du classeur, et faire un lien vers le
fichiers

nom fichier date creation date dernier enregistrement valeur de B1
lien hypertexte



sauriez vous m'aidez SVP

Merci
Benoit

4 réponses

Avatar
DanielCo
Bonjour,

Sub test()
Dim FSO As Object, Dossier As Object, Fichier As Object
Dim inCalculationMode As Integer, Ctr As Long
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Set FSO = CreateObject("scripting.filesystemobject")
Set Dossier = FSO.getfolder("d:donneesdaniel")
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 3) = "xls" Then
Ctr = Ctr + 1
Cells(Ctr, 1) = Fichier.Name
Cells(Ctr, 2) = Fichier.datecreated
Cells(Ctr, 3) = Fichier.datelastmodified
Workbooks.Open Fichier.Path
Cells(Ctr, 4) = ActiveWorkbook.Worksheets(1).[B1].Value
ActiveWorkbook.Close False
End If
Next Fichier
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub

Cordialement.
Daniel


Bonjour

Pour faire un répertoire de suivi de mise à jour, je cherche à récupérer la
liste de tous les fichiers présents dans un répertoire (environ 200) en
récupérant également sa date de création, de dernier enregistrement, des
infos situées en B1 de la 1ere feuille du classeur, et faire un lien vers le
fichiers

nom fichier date creation date dernier enregistrement valeur de B1
lien hypertexte



sauriez vous m'aidez SVP

Merci
Benoit
Avatar
en
bonjour

très bien sauf que cela ne récupère pas B1 ; je vais chercher pourqoi

encore merci pour ce début


"DanielCo" a écrit dans le message de
news:isgcc0$5kq$
Bonjour,

Sub test()
Dim FSO As Object, Dossier As Object, Fichier As Object
Dim inCalculationMode As Integer, Ctr As Long
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Set FSO = CreateObject("scripting.filesystemobject")
Set Dossier = FSO.getfolder("d:donneesdaniel")
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 3) = "xls" Then
Ctr = Ctr + 1
Cells(Ctr, 1) = Fichier.Name
Cells(Ctr, 2) = Fichier.datecreated
Cells(Ctr, 3) = Fichier.datelastmodified
Workbooks.Open Fichier.Path
Cells(Ctr, 4) = ActiveWorkbook.Worksheets(1).[B1].Value
ActiveWorkbook.Close False
End If
Next Fichier
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub

Cordialement.
Daniel


Bonjour

Pour faire un répertoire de suivi de mise à jour, je cherche à récupérer
la liste de tous les fichiers présents dans un répertoire (environ 200)
en récupérant également sa date de création, de dernier enregistrement,
des infos situées en B1 de la 1ere feuille du classeur, et faire un lien
vers le fichiers

nom fichier date creation date dernier enregistrement valeur de
B1 lien hypertexte



sauriez vous m'aidez SVP

Merci
Benoit




Avatar
Gloops
Bonjour,

Ah oui, là :
Workbooks.Open Fichier.Path
Cells(Ctr, 4) = ActiveWorkbook.Worksheets(1).[B1].Value
ActiveWorkbook.Close False

Voilà ce que ça fait :
- ça ouvre le classeur,
- ça écrit dans une cellule de la colonne 4 de sa feuille active, a
priori la première feuille, le contenu de la cellule B1 de sa premièr e
feuille
- ça le referme sans sauvegarder.

On peut visualiser ça en mettant un point d'arrêt (par la touche F9) sur
la deuxième des trois instructions, en faisant attention à la valeur de
Ctr pour savoir quelle est la cellule dont il faut vérifier la valeur.
Touche F8 pour exécution de l'instruction suivante. Touche F5 pour
traitement de la ligne suivante.

Donc, au premier passage dans la boucle (donc pour le premier classeur),
B1 est copié en D1, au deuxième B1 est copié en D2, au troisième en D3 ...



On peut déclarer un objet Worksheet sous le nom W,

Dim W As Worksheet

et en début de macro

Set W = ActiveSheet


et sur la deuxième des trois lignes mentionnées on précise, au dé but :
W.Cells(Ctr, 4) = ActiveWorkbook.Worksheets(1).[B1].Value

Je n'ai rien pour tester, mais ça devrait marcher.
Ah oui on peut mettre [B1] plutôt que Range("B1"), oui après tout c'e st
plus léger à lire.

_________________________________
en a écrit, le 05/06/2011 21:50 :
bonjour

très bien sauf que cela ne récupère pas B1 ; je vais chercher pou rqoi

encore merci pour ce début


"DanielCo" a écrit dans le message de
news:isgcc0$5kq$
Bonjour,

Sub test()
Dim FSO As Object, Dossier As Object, Fichier As Object
Dim inCalculationMode As Integer, Ctr As Long
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Set FSO = CreateObject("scripting.filesystemobject")
Set Dossier = FSO.getfolder("d:donneesdaniel")
For Each Fichier In Dossier.Files
If Right(Fichier.Name, 3) = "xls" Then
Ctr = Ctr + 1
Cells(Ctr, 1) = Fichier.Name
Cells(Ctr, 2) = Fichier.datecreated
Cells(Ctr, 3) = Fichier.datelastmodified
Workbooks.Open Fichier.Path
Cells(Ctr, 4) = ActiveWorkbook.Worksheets(1).[B1].Value
ActiveWorkbook.Close False
End If
Next Fichier
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub

Cordialement.
Daniel


Bonjour

Pour faire un répertoire de suivi de mise à jour, je cherche à
récupérer la liste de tous les fichiers présents dans un répe rtoire
(environ 200) en récupérant également sa date de création, de dernier
enregistrement, des infos situées en B1 de la 1ere feuille du
classeur, et faire un lien vers le fichiers

nom fichier date creation date dernier enregistrement valeur de B1
lien hypertexte



sauriez vous m'aidez SVP

Merci
Benoit







Avatar
DanielCo
Bonjour,
Bien vu !
J'au rais mieux fait de prendre un café au lieu d'une tisane ;-)))
Gloops a écrit

Voilà ce que ça fait :
- ça ouvre le classeur,
- ça écrit dans une cellule de la colonne 4 de sa feuille active, a
priori la première feuille, le contenu de la cellule B1 de sa première
feuille
- ça le referme sans sauvegarder.



Encore heureux !
Daniel