problème de rafraichissement

toc toc

XLDnaute Nouveau
Bonjours, j'ai besoin d'un petit rafraichissement :D.
hum hum...
Trève de plaisanteries, voilà mon problème.

J'ai un bout de code (cf : ci-dessous) qui a pour utilité de chopper tout les noms de dossiers présents dans un de mes répertoires et de les afficher sous forme de liste sur ma feuille Excel.

code permettant d'afficher le tout :
Code:
Option Explicit
 
Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
  'Activer reference Microsoft Scripting RunTime
  Static FSO As FileSystemObject
  Dim oSourceFolder As Scripting.Folder
  Dim oSubFolder As Scripting.Folder
  Dim oFile As Scripting.File
  Static wksDest As Worksheet
  Static iRow As Long
  Static bNotFirstTime As Boolean
  
  If Not bNotFirstTime Then
    Set wksDest = ActiveSheet
    Set FSO = CreateObject("Scripting.FileSystemObject")

    
    iRow = 8
    bNotFirstTime = True
  End If
  Set oSourceFolder = FSO.GetFolder(strFolderName)
  For Each oFile In oSourceFolder.Files
    wksDest.Cells(iRow, 8) = oFile.Name
    wksDest.Cells(iRow, 9) = oFile.DateCreated
    wksDest.Cells(iRow, 10) = oFile.DateLastModified
    wksDest.Cells(iRow, 11) = oFile.DateLastAccessed

    
    iRow = iRow + 1
  Next oFile

  
  For Each oSubFolder In oSourceFolder.SubFolders

  Next oSubFolder
  
  If bIncludeSubfolders Then
    For Each oSubFolder In oSourceFolder.SubFolders
      ListFilesInFolder oSubFolder.Path, True
    Next oSubFolder
  End If
 
End Sub

code pour le repertoire :
Code:
Sub test()
    ListFilesInFolder "C:\blablabla", True
End Sub

Le problème viens du fait que par exemple si j'execute le code 2 fois, les nouveaux élements s'empilent sur les anciens. J'aimerais plutôt que ceux qui proviennent de la 1ere execution soient supprimé et remplacés par ceux de la 2ème voyez-vous ? Une sorte de fonction "rafraichir" en quelque sorte.


J'imagine que ce ne doit pas être trop compliqué mais je bûche quand même...

Merci de bien vouloir m'aider :).
 

keepcool183

XLDnaute Occasionnel
Re : problème de rafraichissement

Bonjour Toc Toc (qui est la ? :D),

modifie le début de ta macro comme ceci afin d'écraser les résultats précédents :

Code:
 [COLOR="Red"][B]  iRow = 8[/B][/COLOR]
If Not bNotFirstTime Then
    Set wksDest = ActiveSheet
    Set FSO = CreateObject("Scripting.FileSystemObject")  
 
    bNotFirstTime = True
  End If

A+
 

toc toc

XLDnaute Nouveau
Re : problème de rafraichissement

Désolé, j'ai de nouveau un problème :

job75, ton code marchait y a même pas 5 min et maintenant ça me sort

erreur d'execution '91'
variable objet ou variable de bloc with non défini


Quand je l'enlève ça remarche.
D'ou viens l'erreur ? :(



EDIT : bon, j'ai viré le wksDest. et laissé le reste et ça m'a tout l'air d'être rentré dans l'ordre, j'espère que ça va durer :p
 
Dernière édition:

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 698
dernier inscrit
miespetico