pascal_bidouille
XLDnaute Junior
Hello,
J'ai la macro suivante :
L'objectif est de mettre dans mafeuille la liste des fichiers présents dans un répertoire puis les trier par ancienneté.
Le souci est que cela fait une corruption de mon fichier. Du coup à l'ouverture suivante j'ai un un message du style :
J'ai aussi essayé avec des fonctions style fichier = Dir(chemin & "\*.xlsm")
Parfois la macro fait aussi complétement planter excel qui doit alors redémarrer.
Des idées ?
J'ai la macro suivante :
Code:
Sub lister_fichier()
Dim fichier As String, chemin As String
Dim FSO As Object
Dim SourceFolder As Object
Dim FileItem As Object
Dim jourf As Date
Dim m As Integer
Dim sh As Worksheet
fliste="mafeuille"
Set sh = ThisWorkbook.Sheets(fliste)
sh.Cells.Clear
chemin = "c:\monchemin"
If Dir(chemin, vbDirectory) = "" Then
MsgBox ("Répertoire non existant" & vbNewLine & "Chargement impossible")
End
End If
m = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(chemin)
For Each FileItem In SourceFolder.Files
fichier = FileItem.Name
If Len(fichier) > 5 Then
If UCase(Right(fichier, 5)) = ".XLSM" Then
jourf = FileItem.DateLastModified
sh.Cells(m, 2) = jourf
sh.Cells(m, 1) = fichier
m = m + 1
End If
End If
Next
If m > 1 Then
sh.Sort.SortFields.Clear
sh.Sort.SortFields.Add Key:=sh.Range(sh.Cells(1, 2), sh.Cells(m, 2)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With sh.Sort
.SetRange sh.Range(sh.Cells(1, 1), sh.Cells(m, 2))
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
On Error GoTo error_apply
.Apply
End With
End If
Exit Sub
error_apply:
MsgBox ("erreur apply")
End
End Sub
L'objectif est de mettre dans mafeuille la liste des fichiers présents dans un répertoire puis les trier par ancienneté.
Le souci est que cela fait une corruption de mon fichier. Du coup à l'ouverture suivante j'ai un un message du style :
Des erreurs ont été détectées dans le fichier
Enregistrements réparés: Affichage dans la partie /xl/worksheets/sheet6.xml
Enregistrements réparés: Affichage dans la partie /xl/worksheets/sheet6.xml
J'ai aussi essayé avec des fonctions style fichier = Dir(chemin & "\*.xlsm")
Parfois la macro fait aussi complétement planter excel qui doit alors redémarrer.
Des idées ?