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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
bonjour
très bien sauf que cela ne récupère pas B1 ; je vais chercher pourqoi
encore merci pour ce début
"DanielCo" <dcolardelleZZZ@free.fr> a écrit dans le message de
news:isgcc0$5kq$1@speranza.aioe.org...
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
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
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
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" <dcolardelleZZZ@free.fr> a écrit dans le message de
news:isgcc0$5kq$1@speranza.aioe.org...
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
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
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
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.
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.