Supprimer un dossier "vide ou non vide"

Supprimer un dossier "vide ou non vide" - VB/VBA/VBS - Programmation

Marsh Posté le 02-01-2005 à 16:56:41    

Bonjour et bonne année a tous !
 
Voilà mon problème:
Je voudrais supprimer un dossier (a partir d'un click dans une liste Box listant tous les dossiers contenu dans un autre), copier au préalable son contenu dans un dossier poubelle, supprimer le contenu, puis raffraichir ma listeBox.
J'ai deja crée un code, la partie raffraichissement, copie et suppresion des fichiers fonctionne, mais en ce qui concerne la partie suppression du dossier j'obtient une erreur sur le rmdir (erreur de chemin) dans le cas ou le dossier n'était pas vide.
 
Bon biensur je sais que le rmdir ne fonctionne pas dans le cas d'un dossier qui n'est pas vide, mais ici je prend d'abord soin de vider le dossier, je ne comprend donc pas l'erreur.
 
Précision : Quand le dossier n'est pas vide et que j'obtient l'erreur, la copie et suppression des dossiers fonctionne tout de même, le code beug uniquement a l'arrivée du rmdir. Quand il est vide tout fonctionne nickel
 
Voici mon code :

Code :
  1. Private Sub cmd_sup_theme_Click()
  2.     Dim i As Integer, chemin_img As String
  3.    
  4.     poubelle = App.Path & "\multimedia\poubelle\" & patient & "\"
  5.     theme = liste_themes.Text
  6.    
  7.     If theme = "" Then
  8.         MsgBox "Vous n'avez pas choisi de thème", vbExclamation
  9.     Else:
  10.         'Chemin des images
  11.         File1.Path = App.Path & "\multimedia\images\" & patient & "\" & theme
  12.        
  13.         For i = 0 To File1.ListCount - 1
  14.             nom_photo = File1.List(i)
  15.             chemin_img = App.Path & "\multimedia\images\" & patient & "\" & theme & "\" & nom_photo
  16.             FileCopy chemin_img, poubelle & nom_photo
  17.             Kill chemin_img
  18.         Next i
  19.              
  20.         RmDir App.Path & "\multimedia\images\" & patient & "\" & theme
  21.        
  22.         chemin = App.Path & "\multimedia\images\" & patient & "\"
  23.         recherche = Dir$(chemin & "*.*", vbDirectory)
  24.         liste_themes.Clear
  25.        
  26.         Do While recherche <> ""
  27.            
  28.             If (recherche <> "." And recherche <> ".." ) Then
  29.                 If (GetAttr(chemin & recherche) And vbDirectory) Then
  30.                     nom_dossier = recherche
  31.                     liste_themes.AddItem nom_dossier
  32.                 End If
  33.             End If
  34.              
  35.             recherche = Dir$()
  36.             DoEvents
  37.            
  38.         Loop
  39.        
  40.     End If
  41.    
  42. End Sub

Reply

Marsh Posté le 02-01-2005 à 16:56:41   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed