Bonjour
j ai un repertoire nommé "FACTURE" sous c:\
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu
5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé
et tous les autres qui contiennentt comme nom stefane 5487 et 5488
supprimés
sachant que il existe sous FACTURE" un nombre important de sous dossiers.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
Bonjour,
Sub SuppDossiers() Set fso = CreateObject("Scripting.FileSystemObject") Set dossier_racine = fso.getfolder("C:FACTURE") Set dossier_racine = fso.getfolder("C:temp") Lit_dossier dossier_racine End Sub
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then For Each f In dossier.Files Kill f.Path Next f RmDir dossier End If For Each d In dossier.SubFolders Lit_dossier d Next End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et dossiers sont supprimés définitivement. Daniel
Bonjour j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu 5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés sachant que il existe sous FACTURE" un nombre important de sous dossiers.
merci
Bonjour,
Sub SuppDossiers()
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder("C:FACTURE")
Set dossier_racine = fso.getfolder("C:temp")
Lit_dossier dossier_racine
End Sub
Sub Lit_dossier(ByRef dossier)
If InStr(1, d.Name, [A1].Value) > 0 Then
For Each f In dossier.Files
Kill f.Path
Next f
RmDir dossier
End If
For Each d In dossier.SubFolders
Lit_dossier d
Next
End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et dossiers
sont supprimés définitivement.
Daniel
Bonjour
j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu
5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé
et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés
sachant que il existe sous FACTURE" un nombre important de sous dossiers.
Sub SuppDossiers() Set fso = CreateObject("Scripting.FileSystemObject") Set dossier_racine = fso.getfolder("C:FACTURE") Set dossier_racine = fso.getfolder("C:temp") Lit_dossier dossier_racine End Sub
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then For Each f In dossier.Files Kill f.Path Next f RmDir dossier End If For Each d In dossier.SubFolders Lit_dossier d Next End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et dossiers sont supprimés définitivement. Daniel
Bonjour j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu 5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés sachant que il existe sous FACTURE" un nombre important de sous dossiers.
merci
Gloops
Bonjour,
DanielCo a écrit, le 20/02/2012 11:59 :
Bonjour,
Sub SuppDossiers() Set fso = CreateObject("Scripting.FileSystemObject") Set dossier_racine = fso.getfolder("C:FACTURE") Set dossier_racine = fso.getfolder("C:temp") Lit_dossier dossier_racine End Sub
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
For Each f In dossier.Files Kill f.Path Next f RmDir dossier End If For Each d In dossier.SubFolders Lit_dossier d Next End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et doss iers sont supprimés définitivement. Daniel
Si on veut on peut faire des tests en remplaçant l'instruction de suppression par une qui renomme le dossier. Comme ça on voit ce qui a été renommé (par exemple en ajoutant " à supprimer"), et si on s' est trompé c'est vite fait de remettre le nom comme il était.
Une fois qu'on est satisfait du résultat on peut remettre la suppressio n.
Bonjour,
DanielCo a écrit, le 20/02/2012 11:59 :
Bonjour,
Sub SuppDossiers()
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fso.getfolder("C:FACTURE")
Set dossier_racine = fso.getfolder("C:temp")
Lit_dossier dossier_racine
End Sub
Sub Lit_dossier(ByRef dossier)
If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
For Each f In dossier.Files
Kill f.Path
Next f
RmDir dossier
End If
For Each d In dossier.SubFolders
Lit_dossier d
Next
End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et doss iers
sont supprimés définitivement.
Daniel
Si on veut on peut faire des tests en remplaçant l'instruction de
suppression par une qui renomme le dossier. Comme ça on voit ce qui a
été renommé (par exemple en ajoutant " à supprimer"), et si on s' est
trompé c'est vite fait de remettre le nom comme il était.
Une fois qu'on est satisfait du résultat on peut remettre la suppressio n.
Sub SuppDossiers() Set fso = CreateObject("Scripting.FileSystemObject") Set dossier_racine = fso.getfolder("C:FACTURE") Set dossier_racine = fso.getfolder("C:temp") Lit_dossier dossier_racine End Sub
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
For Each f In dossier.Files Kill f.Path Next f RmDir dossier End If For Each d In dossier.SubFolders Lit_dossier d Next End Sub
Sois prudent en testant. Les éléments supprimés (fichiers et doss iers sont supprimés définitivement. Daniel
Si on veut on peut faire des tests en remplaçant l'instruction de suppression par une qui renomme le dossier. Comme ça on voit ce qui a été renommé (par exemple en ajoutant " à supprimer"), et si on s' est trompé c'est vite fait de remettre le nom comme il était.
Une fois qu'on est satisfait du résultat on peut remettre la suppressio n.
DanielCo
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
Tout à fait. donc corrigé :
If InStr(1, dossier.Name, [A1].Value) > 0 Then
Daniel
Sub Lit_dossier(ByRef dossier)
If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
Sub Lit_dossier(ByRef dossier) If InStr(1, d.Name, [A1].Value) > 0 Then
Pardon, mais ... ce n'était pas dossier, plutôt que d, là ?
Tout à fait. donc corrigé :
If InStr(1, dossier.Name, [A1].Value) > 0 Then
Daniel
DanielCo
Ca fonctionne sauf si le dossier à supprimer contient des sous-dossiers. Est-ce ton cas ? Daniel
stef b a écrit
Bonjour j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu 5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés sachant que il existe sous FACTURE" un nombre important de sous dossiers.
merci
Ca fonctionne sauf si le dossier à supprimer contient des
sous-dossiers. Est-ce ton cas ?
Daniel
stef b a écrit
Bonjour
j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu
5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé
et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés
sachant que il existe sous FACTURE" un nombre important de sous dossiers.
Ca fonctionne sauf si le dossier à supprimer contient des sous-dossiers. Est-ce ton cas ? Daniel
stef b a écrit
Bonjour j ai un repertoire nommé "FACTURE" sous c:
je voudrais qu'en tapant un mot an range("A1")
il me supprime tous les repertoires contenant ce mot.
exemple :
5487 stefane tutesvu 5488 stefane quandtasbu
en range("a1") stefane
le repertoire est supprimé et tous les autres qui contiennentt comme nom stefane 5487 et 5488 supprimés sachant que il existe sous FACTURE" un nombre important de sous dossiers.