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 :

pb de nom de répertoire trop long


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
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Par défaut pb de nom de répertoire trop long
    Bonjour,

    il faut que je mesure la taille de certains répertoires pour faire des alertes d'encombrement de disque.

    comme je dois cibler les répertoires sensibles j'utilise un programme vba, ou je liste ces répertoires et j'en fais la mesure:
    voilà mon bout de 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
     
    Sub mesure_sys()
     
    Dim oFSO As Scripting.FileSystemObject
    Dim taille As Double
    Set oFSO = New Scripting.FileSystemObject
     
    Sheets("Mesures_s").Activate
     
    n_rep = Cells(3, 1).Value
     
    Set oFld = oFSO.GetFolder(n_rep)
    nom = oFld.Name
     
    taille = FormatNumber(oFld.Size / 1024 / 1024, 0)
    Cells(3, 2).Value = taille
    End Sub
    il se passe que le programme plante lors de la mesure de la taille du répertoire car, je suppose, certains noms de sous répertoire sont trop longs

    effectivement si je fais un dir /d en dos sur les répertoires que je cherche
    dos me signale des noms trop longs
    Y a t'il moyen de contourner ce bug ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Salut,

    Je te propose de travailler avec les noms courts :

    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
    Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
    Const MAX_PATH_LENGHT = 255
     
    Function ShortPath(LongPath As String) As String
     
    Dim tmpShortPath As String
    Dim RC As Long
     
    tmpShortPath = Space(MAX_PATH_LENGHT + 1)
    RC = GetShortPathName(LongPath, tmpShortPath, MAX_PATH_LENGHT + 1)
    ShortPath = Left(tmpShortPath, InStr(tmpShortPath, Chr$(0)) - 1)
     
    End Function
     
    Private Sub Test()
    MsgBox ShortPath(" C:\Projets\Samples\NewStepperLuxe\Lib\AMORTISSEUR COMPLET.top.png")
    End Sub
    Ca devrait régler ton problème.

    Bonne chance pour la suite !

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Par défaut
    non c'est pas ça , ce n'est pas le nom du répertoire tête qui pose problème, mais celui des sous répertoires qui sont inclus et que je n'explore pas car seul la taille du répertoire tête m'interesse.
    les répertoires et sous répertoires ne m'apartiennent pas et je ne peux pas changer leur nom.
    je ne sais pas si ça vient de fso ou de excel .
    si je fais une mesure manuelle du répertoire sous windows

    - selection du répertoire puis propriétés j'obtiens le bon résultat pour mesurer sa taille,

    et en fait je voudrait faire la même chose en vba en lisant le nom du répertoire cible dans une cellule de excel.

    merci pour la réponse

Discussions similaires

  1. Nom de colonnes trop longs
    Par Manau2000 dans le forum Sybase
    Réponses: 3
    Dernier message: 09/02/2009, 17h37
  2. Nom de fichier trop long (nombreux fichiers)
    Par gretch dans le forum Windows XP
    Réponses: 10
    Dernier message: 14/03/2008, 17h09
  3. Mkiso, nom des packages trop longs
    Par Jibees dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 12/09/2006, 15h14
  4. getOutputStream() : nom de fichier trop long
    Par joseph_p dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 29/06/2006, 11h55
  5. Comment supprimer répertoire trop long ?
    Par Tueur_a_gage dans le forum Windows XP
    Réponses: 3
    Dernier message: 27/06/2006, 11h29

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