Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

SUpprimer un repertoire et son contenu avec VB

  • Initiateur de la discussion Initiateur de la discussion le_coc
  • 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 !

L

le_coc

Guest
Bonjour,
Je voudrai faire une macro qui supprime un repertoire ainsi que son contenu a condition qu'il existe. J'ai fait une macro (cf. ci-dessous) mais malheureusement elle ne marche pas, ce serait vraiment sympa si qq un pouvait m'aider. Merci d'avance. Je crois que la fonction fso.Deletefolder ne marche pas???
Voici mon code:

Sub nettoyage()
'
' nettoyage Macro
' Macro enregistrée le 28/12/2006 par rafael lambert

Dim fso As Object
Dim RmDir As String
RmDir = "Temp Programme"
Set fso = CreateObject("Scripting.filesystemObject")
' Vérifier si le répertoire destination sur le sdisque dur existe.
If Dir$("U:\Programmes" & RmDir, vbDirectory) = "" Then
' Vu qu'il existe pas, le supprimmer'
fso.deletefolder ("U:\Programmes\" & RmDir)
End If
Set fso = Nothing
'
End Sub
 
Re : SUpprimer un repertoire et son contenu avec VB

Bonjour ,

Pour moi l'incoherence est dans ce commentaire :
' Vu qu'il existe pas, le supprimmer'

donc remplace If Dir$("U:\Programmes" & RmDir, vbDirectory) = "" Then <> ""
ou autrement dit, si il existe, le supprimer


Autrechose, ton objectif est bien de supprimer systématiquement le dossier Temp programme du lecteur U: ?

XanorK
 
Re : SUpprimer un repertoire et son contenu avec VB

Tout d'abord merci pour vos commentaires
Effectivement le commentaire est vu qu'il existe, le supprimer
et pour te repondre xanok , c est juste pour le supprimer dans le cas ou quelqu un aurait execute ma grosse macro et ne serait pas aller au bout. Je m explique dans cette grosse macro je fabrique automatiquement un repertoire dans lequel sont générés des fichiers excel. Une fois ces fichiers générés, je renomme le répertoire et le déplace. Cependant, si l executant ne vas pas au bout de cette grosse macro, le fichier temporaire n'est pas supprimé et la grosse macro n'est alors pas executable a moins de supprimer le repertoire temp programme.
En fait, la macro que je demande sert a eviter une erreur et une suppression manuelle du repertoire si le fichier existe dejà.
Je vais essayer vos rep et je vous tiens au courant
Merci pour votre aide.
 
Re : SUpprimer un repertoire et son contenu avec VB

Salut à tous

une autre incohérence, il ne faut jamais utiliser en nom de variable un mot clé visual basic ce qui est le cas de l'instruction Rmdir, instruction servant à supprimer les répertoires vides.
utilises plutôt Rm_Dir à la place.

Cordialement, A+
 
Re : SUpprimer un repertoire et son contenu avec VB

En fait je sais pas pourquoi j'ai finalement apporter des modifs je suis revenu à ma macro et en fait elle marche sans modif
Cependant une question se pose encore
La je supprime le dossier s'il existe
Il faut deormais que j'y ajoute si le repertoire n'existe pas ne rien faire, je vais regarder si vous avez des idées, n'hesitez pas merci d'avance pour votre aide
 
Re : SUpprimer un repertoire et son contenu avec VB

Re

utilises l'instruction Dirs(chemin, vbdirectory) qui te renverra une chaine vide si le dossier n'existe pas et le nom du dossier s'il existe

A+
 
Re : SUpprimer un repertoire et son contenu avec VB

reste dans le post, le_coc, ma bal n'est pas la pour cela!!!

utilises une boucle type

If Dir$("U:\Programmes" & RmDir, vbDirectory) <> "" Then
fso.deletefolder ("U:\Programmes\" & Rm_Dir)
else
exit sub
end if

A+
 
Re : SUpprimer un repertoire et son contenu avec VB

Nan la fonction Else Exit Sub ne marche pas si je ne veux rien faire dans le cas ou le repertoire n'existe pas car si le repertoire n'existe pas il ne trouve pas le chemin d'acces du fait qu'il se trouve avant Else et Exit Sub et execute alors une erreur en me disant qu'il ne trouve pas le chemin d'acces
JH'ai aussi essaye dans l'autre sens s'il n'existe pas exit su sinon supprime le rep et ca marche pas non plus cf code ci-dessous

Dim fso As Object
Dim RmDir As String
RmDir = "Temp Programme"
Set fso = CreateObject("Scripting.filesystemObject")
' Vérifier si le répertoire destination sur le disque dur existe.
If Dir$("U:\Programmes" & RmDir, vbDirectory) = "" Then
' Vu qu'il existe pas, le supprimmer'
Exit Sub
Else
fso.deletefolder ("U:\Programmes\" & RmDir)
End If
Set fso = Nothing
'
End Sub
 
Re : SUpprimer un repertoire et son contenu avec VB

il te manque un \ dans ton dir aprés programmes donc le test est toujours le dossier n'existe pas
modifies comme suit
If Dir$("U:\Programmes\" & RmDir, vbDirectory) = "" Then

n'oublies pas de remplacer Rmdir par Rm_Dir dans tout ton code ou tu te prépares des problèmes pour l'avenir.
 
Re : SUpprimer un repertoire et son contenu avec VB

Merci beaucoup pour ton aide Yeahou
Juste une derniere precision cette macro marche aussi si des fichiers se trouvent à l'interieur du repertoire
En tout les cas merci à tous
Si quelqu'un a des problèmes avec cette macro je pourrai lui envoyer
Bonne journée et Bonne fêtes
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
Réponses
1
Affichages
3 K
A
  • Question Question
Réponses
3
Affichages
1 K
S
Réponses
2
Affichages
628
SEBELEC16
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…