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 :

Dossier créés et impossible à supprimer


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut Dossier créés et impossible à supprimer
    Bonjour,

    J'ai créé un code pour créer des dossiers dans windows, ça fonctionne, mais le pbl, c'est qu'une fois créés, on ne peut plus du tout les supprimer, ni les déplacer, ni les renommer.

    Les messages d'erreur sont soit après confirmation de la suppression : Cannot Delete XXX : Cannot find the specified file.
    ou, avant même le traditionnel message de confirmation : Cannot delete file : Cannot read from the source file or disk.

    Voilà le code :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub Dossier()
        Dim Chemin As String, OldName As String, NewName As String, DR As String
        Dim Ligne As Integer, i As Integer
     
        'Détermine le chemin d'accès
        Chemin = Application.InputBox(Prompt:="Copier/Coller l'adresse du répertoire où se trouve l'export.")
            Range("P2") = Chemin
        Chemin = Chemin + "\"
     
        'Nettoie les colonnes éventuellement déjà utilisées
        Columns("CY:DJ").Select
        Selection.ClearContents
     
        Ligne = ActiveSheet.UsedRange.Rows.Count
        'DR = Mid(Cells(5, 4), 7, InStr(Cells(5, 4), ": ")) & "\"
     
        For i = 15 To Ligne
            For j = 103 To 115
                If Cells(i, j - 100) = "" Then
                    Cells(i, j) = Cells(i - 1, j)
                Else
                    Cells(i, j) = Cells(i, j - 100) & "\"
                    'Chemin2 = Chemin & DR & Cells(i, 103) & Cells(i, 104) & Cells(i, 105) & Cells(i, 106) & Cells(i, 107) & Cells(i, 108) & Cells(i, 109) & Cells(i, 110) & Cells(i, 111) & Cells(i, 112) & Cells(i, 113) & Cells(i, 114)
                    Chemin2 = Chemin & Cells(i, 103) & Cells(i, 104) & Cells(i, 105) & Cells(i, 106) & Cells(i, 107) & Cells(i, 108) & Cells(i, 109) & Cells(i, 110) & Cells(i, 111) & Cells(i, 112) & Cells(i, 113) & Cells(i, 114)
                    MkDir Chemin2
                    On Error Resume Next
                End If
            Next
            If Cells(i, 15) <> "" Then
                OldName = Chemin & "Documents\" & Cells(i, 18) & ".pdf"
                NewName = Chemin2 & Cells(i, 16) & Right(OldName, 4)
                On Error Resume Next
                Name OldName As NewName
            End If
        Next
     
    End Sub
    Le souci survient si on colle dans le programme une arborescence depuis un fichier excel, mais fonctionne si on crée les lignes à la main.

    Merci d'avance,
    Phil....

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    As-tu vérifié si les noms des chemins que tu crées sont corrects ?
    Le problème vient peut-être de la...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MkDir Chemin2
    debug.print chemin2

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    oui oui, ils sont corrects puisque :
    1- Les dossiers sont bien créés dans les bons répertoires
    2- Ils sont créés à partir d'une liste qui est la même pour tous, alors qu'il n'y a que certains répertoires que je ne peux plus supprimer.

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    As-tu avancé sur la question ou le problème subsiste-t-il toujours ?

    Je te posais la question des chemins et des noms de fichier car il m'est arrivé en VBA outlook de créer des fichiers bidons (par exemple nommés .PDF) et ensuite je ne pouvais plus supprimer les fichiers.

    Si tu as un fichier, je veux bien le tester.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Par défaut
    regarde si les fichiers ne sont pas utilisés par une application, j'ai eu des problemes avec un programme qui me créait des fichiers word et les ouvrait seulement quand je voulais les supprimer, cela me créait la liste des fichiers du répertoire avant de fermer word donc avec le fichier temporaire, une fois word fermé le fichier temporaire n'existant plus il me generait une erreur lorsqu'il tentait de le supprimer... juste une piste...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    alors, oui, j'ai tjs le problème. Le souci ne se situe pas avec les fichiers (en tout cas, je n'en ai pas encore constaté) mais essentiellement avec les dossiers, donc pas de problème d'extension.

    Pour le souci de suppression, j'ai bien pensé qu'il pouvait y avoir un programme l'utilisant, mais ce n'est pas le cas : que ce soit au démarage, ou en passant par un autre poste, ces dossiers sont soit impossibles à supprimer, soit carrément inaccessibles.

    Mais le problème ne survient qu'en important une liste de dossiers depuis notre système interne ; en créant le nom des répertoires à la main, ça marche. Et même si je copie d'abord la liste dans un fichier texte, ou sur word avant d'intégrer les valeurs dans mon programme, les mêmes dossiers se retrouvent impossibles à supprimer.

    je joins le fichier au message. dans l'interface, les aprties grisées représentent la mise en forme des index générés par notre système.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    A ta place jje prendrais le code en debug et je controlerais la valeur de Chemin2 avant le MKDIR, histoire d'être vraiment certain qu'il n'y a aucune crasse dedans.

    Ensuite, si c'est sur un serveur, il faudrait s'occuper des droits d'accès.

    Dernière chose : attacher le code en rebute pas mal, à juste titre. Il est toujours préférable de présenter le code en clair dans le post.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    J'ai attaché le fichier parceque qq1 me l'a demandé, sinon j'avais mis le code directement dans mon 1er post.

    sinon, la valeur de Chemin2 est correcte puisque le répertoire est à la bonne place, et que pour les répertoires posant problème, en les recréant à la main, ils ne buggent plus

    et pour le réseau, en effet nous travaillons en réseau, mais si un dossier est créé vérolé sur notre réseau, ce même dossier reste corrompu en le créant directement sur C:\, voir mm sur une clé USB.... Je commence en fait à penser que c'est un bug inhérent à excel (le problème est le mm avec 2003 et 2007).

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Je commence en fait à penser que c'est un bug inhérent à excel (le problème est le mm avec 2003 et 2007).
    Possible.

    As-tu pensé au fait que les répértoires parents doivents exister avant et que pour créer l'enfant il faut être positionné sur le parent avant et mentionner uniquement l'enfant dans MKDIR?

    Juste au cas où ....

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    As-tu pensé au fait que les répértoires parents doivents exister avant et que pour créer l'enfant il faut être positionné sur le parent avant et mentionner uniquement l'enfant dans MKDIR?
    oui, c bon, puisqu'il les crée dans l'ordre de l'arborescence. et encore une fois, le même dossier va être suppressible ou non, selon qu'on le rentre à la main ou qu'on l'importe depuis l'index de notre système.

  11. #11
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bizarre, lorsque je crée avec numéros les répertoires sont valides et peuvent être supprimés ?
    Donc de mon côté ça marche, par contre sans numéros, le chemin d'accés est introuvable.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    Citation Envoyé par aalex_38 Voir le message
    Bizarre, lorsque je crée avec numéros les répertoires sont valides et peuvent être supprimés ?
    Le problème vient des index que nous générons depuis notre système et seuls certains répertoires buggent : il peut n'y en avoir qu'on sur 10.000 lignes comme 50 sur 200 lignes. Malheureusement, les clauses de confidentialités m'interdisent de vous faire parvenir ces index.

    Citation Envoyé par aalex_38 Voir le message
    Donc de mon côté ça marche, par contre sans numéros, le chemin d'accés est introuvable.
    Pour la partie sans les n°, je crois que je n'ai pas fini le code....

  13. #13
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Citation Envoyé par TaleMaker Voir le message
    oui, c bon, puisqu'il les crée dans l'ordre de l'arborescence. et encore une fois, le même dossier va être suppressible ou non, selon qu'on le rentre à la main ou qu'on l'importe depuis l'index de notre système.
    Il n'y aurait pas des caractères bizarres qui surviendraient quand on fait l'import depuis l'index de ton système.

    Je te recommande chaudement d'essayer de sauver cet index dans un fichier texte et de voir en hexa si il n'y a pas des caractères qui t'échappent (CR, LR, ....)

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Il n'y aurait pas des caractères bizarres qui surviendraient quand on fait l'import depuis l'index de ton système.
    C'est en effet la seule piste qu'il me semble intéressant d'exploiter. par contre, g bien un éditeur hexadécimal chez moi, mais là, au bureau, je ne vois pas comment éditer mon fichier en hexa. Il faut absolument que j'installe un log spécifique ou ça peut se faire depuis notepad ou word ??

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 92
    Par défaut
    ça y est, j'ai trouvé d'où vient le bug. L'index généré par notre système mets des espaces à la fin des noms de dossier, et ça bug uniquement à cause de ça. En supprimant systématiquement les espaces à la fin, il n'y a plus de bug.

    Merci à tous pour vos conseils. Maintenant, va falloir que je trouve comment supprimer les dossiers déjà créés

  16. #16
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    A mon avis avec les commandes dos ça devrait pouvoir fonctionner.

  17. #17
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Ne te casse pas la tête pour si peu...

    Regarde ce que fait ceci :

    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
    Private Declare Sub PathQuoteSpaces Lib "shlwapi.dll" Alias "PathQuoteSpacesA" (ByVal lpsz As String)
     
    Private Sub Command1_Click()
      Dim fichier As String
        fichier = "C:\voilà un fichier avec espaces\ et là encore " + String(100, 0)
        PathQuoteSpaces fichier
        MsgBox "j'ai ajouté ce qu'il faut (les guillemets)" & vbCrLf & nettoyage(fichier)
     
        fichier = "C:\blabla\blibli" + String(100, 0)
        PathQuoteSpaces fichier
        MsgBox "et là, pas besoin d'en rajouter" & vbCrLf & nettoyage(fichier)
    End Sub
     
    Function nettoyage(quoi As String) As String
        Dim Pos As Long
        nettoyage = quoi
        Pos = InStr(1, quoi, Chr$(0))
        If Pos > 0 Then nettoyage = Left$(quoi, Pos - 1)
    End Function
    Et voilà tout : tu pourras supprimer tout simplement, pour chaque fichier à supprimer, nettoyage(fichier) au lieu du chemin tel qu'il était.
    Ce sera toujours bon.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dossier impossible à supprimer
    Par adrian07 dans le forum Windows XP
    Réponses: 6
    Dernier message: 26/03/2009, 22h55
  2. Supprimer Dossier d'image impossible
    Par Mario Rousson dans le forum Imagerie
    Réponses: 6
    Dernier message: 30/09/2007, 23h12
  3. un dossier récalcitrant impossible à supprimer
    Par diablolik dans le forum Windows Vista
    Réponses: 13
    Dernier message: 17/04/2007, 13h32
  4. Dossier Backup impossible à supprimer
    Par toto33 dans le forum Autres Logiciels
    Réponses: 9
    Dernier message: 01/10/2006, 19h42
  5. dossier impossible à supprimer
    Par afrikha dans le forum Ordinateurs
    Réponses: 5
    Dernier message: 31/10/2005, 15h29

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