nom de fichier et excel

Le
stef b
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #24265531
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
Gloops
Le #24266711
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.
DanielCo
Le #24267211
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
Le #24267951
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
Publicité
Poster une réponse
Anonyme