Supression de dossier

Résolu
xcxl Messages postés 101 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 16 octobre 2015 - 10 déc. 2005 à 14:52
xcxl Messages postés 101 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 16 octobre 2015 - 10 déc. 2005 à 18:36
C'est peut etre moi mais quand j'utilise la fonction RmDir ou la fonction Deletefolder (j'ai bien utiliser le filesystemobject), il veut pas me supprimer le dossier si il y a des sous-dossier dedans.

Si c'est pas moi qui ait du mal, existe il une fonction qui supprime le dossier meme si il contient des sous-dossier?

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
10 déc. 2005 à 16:54
Salut, il existe une fonction toute faite en API, assez puissante mais à manipuler avec prudence :

'Structure de file operation
Private Type SHFILEOPSTRUCT
hWnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAborted As Boolean
hNameMaps As Long
sProgress As String
End Type


' Constantes utilisées
Private Const FO_DELETE = &H3
Private Const FOF_NOCONFIRMATION As Long = &H10
Private Const FOF_ALLOWUNDO As Long = &H40


' API
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long


Public Sub DestructionDossier(MonDossier as string)
Dim SHDirOp As SHFILEOPSTRUCT
With SHDirOp
.wFunc = FO_DELETE 'opération à réaliser : effacer
.pFrom = MonDossier 'chemin du dossier à supprimer
'.fFlags = FOF_NOCONFIRMATION 'pour zapper les demandes de confirmation et pas coller dans la corbeille
.fFlags = FOF_NOCONFIRMATION Or FOF_ALLOWUNDO 'pour zapper les demandes de confirmation et coller dans la corbeille
End With
'Effacement du dossier
SHFileOperation SHDirOp
End Sub

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 déc. 2005 à 15:40
salut,

il faut créer toi-même la fonction.

tape "récursif" dans le moteur de recherche

@+

PCPT [AFCK]
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
10 déc. 2005 à 16:20
Bonjour,

Ce code supprime le répertoire Mon Répertoire et tout ce qu'il contient (répertoire, fichier), chez moi celà fonctionne.



Private Sub Command1_Click()

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFolder "c:\Mon Répertoire", True

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
0
xcxl Messages postés 101 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 16 octobre 2015
10 déc. 2005 à 18:36
merci
0
Rejoignez-nous