IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Suppression de folder dans arborescence


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Par défaut Suppression de folder dans arborescence
    Bonsoir,

    J'ai un dossier qui contient plus de 1000 dossier. J'aimerais faire une petite moulinette pour qu'il me supprimer le dossier si ce deriner contient un fichier nomé "décompte".

    Voici ce que j'ai actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Private Sub CommandButton1_Click()
    Const DOSSIER = "C:\...\New Folder (3)"
     
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Parcourir oFso.GetFolder(DOSSIER)
     
    End Sub
     
    Sub Parcourir(oDossier)
        For Each oSousDossier In oDossier.Subfolders
            Parcourir oSousDossier
            Set oFso = CreateObject("Scripting.FileSystemObject")
            oFso.deletefolder oSousDossier
        Next
     
        For Each oFichier In oDossier.Files
            chemin = oDossier
            reponse = Dir(chemin & "\*décomp*.pdf")
            If reponse = "" Then
                MsgBox ("NO")
            Else
                MsgBox ("OK")
            End If
        Next
    End Sub
    J'ai l'impression que je désire supprimer le dossier dans lequel je suis actuellement, et c'est pour cela qu'il me donne cette erreur : Permission denied" au moment ou il passe sur "oFso.deletefolder oSousDossier" qui se trouve dans la procédure Parcourir.

    Merci de votre aide.

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Citation Envoyé par lucazzo Voir le message
    Bonsoir,

    J'ai un dossier qui contient plus de 1000 dossier. J'aimerais faire une petite moulinette pour qu'il me supprimer le dossier si ce deriner contient un fichier nomé "décompte".
    Le code que tu as montré tente de supprimer tous les sous-dossiers et pas seulement ceux qui contiennent un fichier particulier.

    Bien sûr tu ne peux supprimer un dossier qui contient un fichier ouvert.


    PGZ

Discussions similaires

  1. [VB.NET] Suppression d'objets dans une collection
    Par master56 dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/06/2010, 21h46
  2. script de suppression de fichiers dans une arborescence
    Par linuxman dans le forum VBScript
    Réponses: 7
    Dernier message: 14/05/2010, 09h37
  3. [VB.NET] Suppression de ligne dans un DataTable
    Par seemax dans le forum Windows Forms
    Réponses: 7
    Dernier message: 06/05/2004, 14h19
  4. [langage] Suppression de doublon dans tableau
    Par LFC dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2004, 14h08
  5. Suppression d'item dans une arborescence
    Par jonzuzu dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo