problème de rafraichissement

  • Initiateur de la discussion Initiateur de la discussion toc toc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

toc toc

XLDnaute Nouveau
Bonjours, j'ai besoin d'un petit rafraichissement 😀.
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 🙂.
 
Re : problème de rafraichissement

Bonjour Toc Toc (qui est la ? 😀),

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+
 
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 😛
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
740
Retour