[VBA] Ouverture d'un fichier exel
Résolu
evilfalcon
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- [VBA] Ouverture d'un fichier exel
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
Bonjour,
Trouvée pour vous ICI, cette fonction liste les fichiers par ordre décroissant de date de création. En commentaires dans le code comment les lister par ordre croissant...
Nécessite d'activer la référence "Microsoft Scripting RunTime"
Trouvée pour vous ICI, cette fonction liste les fichiers par ordre décroissant de date de création. En commentaires dans le code comment les lister par ordre croissant...
Nécessite d'activer la référence "Microsoft Scripting RunTime"
Option Explicit Option Base 1 Sub triDecroissant_Fichiers_DateDreation() Dim Fichier As String, Chemin As String ' 'Nécessite d'activer la référence "Microsoft Scripting RunTime" ' Dim Fso As Scripting.FileSystemObject Dim FileItem As Scripting.File Dim Tableau() Dim m As Integer, i As Integer Dim z As Byte, Valeur As Byte Dim Cible As Variant '---liste les fichiers du répertoire --- Chemin = "C:\Documents and Settings\mimi\dossier\excel" Fichier = Dir(Chemin & "\*.*") 'pour filtrer sur un type de fichiers (par exemple xls) 'Fichier = Dir(Chemin & "\*.xls") 'Boucle sur les fichiers Do m = m + 1 ReDim Preserve Tableau(2, m) Tableau(1, m) = Fichier Set Fso = CreateObject("Scripting.FileSystemObject") Set FileItem = Fso.GetFile(Chemin & "\" & Fichier) 'Récupère la date de création Tableau(2, m) = Left(FileItem.DateCreated, 10) 'Pour récupérer la date de dernière modification 'Tableau(2, m) = Left(FileItem.DateLastModified, 10) 'Pour récupérer la taille du fichier 'Tableau(2, m) = Left(FileItem.Size, 10) Fichier = Dir Loop Until Fichier = "" '---Trie les fichiers par ordre décroissant de création --- Do Valeur = 0 For i = 1 To m - 1 If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then For z = 1 To 2 Cible = Tableau(z, i) Tableau(z, i) = Tableau(z, i + 1) Tableau(z, i + 1) = Cible Next z Valeur = 1 End If Next i Loop While Valeur = 1 '--- Transfère les données dans la feuille de calcul --- For i = 1 To m Cells(i, 1) = Tableau(1, i) Cells(i, 2) = Tableau(2, i) Next i 'Pour transférer par ordre croissant: 'For i = m To 1 Step -1 'Cells(m - i + 1, 1) = Tableau(1, i) 'Cells(m - i + 1, 2) = Tableau(2, i) 'Next i 'Ajuste la taille des colonnes Columns("A:B").AutoFit End Sub
Comme je suis pas un pro du VBA, je vais d'abord créer un onglet avec les noms, puis en ouvrir les fichiers en fonction des noms.
Cordialement
Oui, ce sera peut être plus simple.
A+