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 :

Connaitre l'espace disque disponible


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Connaitre l'espace disque disponible
    Bonjour,

    J'ai une application qui travaille sur des gros fichiers en réseau or, il arrive parfois que l'espace disque dur du réseau soit saturé. Comment via le VBA avoir un indicateur avec la capacité restante ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    La lecture de cet article http://warin.developpez.com/access/fichiers/ devrait te donner des indications, au chapitre I-B-3.

    Starec

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 16
    Points : 13
    Points
    13
    Par défaut


    Merci Starec,



    ça marche voici le code ou W: represente l'alias réseau


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
        Dim resultat As Long
        resultat = EspaceDisque("W:")
        If resultat < 20000000 Then
            Call MsgBox("L'espace de travail sur le disque réseau est trop faible pour y lancer l'intégration des bilans. Actuellement vous disposez de " & Format(resultat, "### ### ###") & " octets", vbExclamation, "Attention")
            Call MsgBox("Veuillez contrôler cette espace et le purger ", vbExclamation, "Attention")
            Exit Sub
        End If
        ' suite
        ' bla bla bla bla
     
    End Sub
    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
    Function EspaceDisque(disque As String) As Long
     
        Dim oFSO As Scripting.FileSystemObject
        Dim oDrv As Scripting.Drive
        'Instanciation du FSO
        Set oFSO = New Scripting.FileSystemObject
        'Instanciation d'un objet drive correspondant au disque C
        If oFSO.DriveExists(disque) = True Then
            Set oDrv = oFSO.Drives(disque)
            'Exit Sub
        Else
            MsgBox "Ce disque n'existe pas, veuillez verifier le chemin du réseau nommé " & disque
        End If
        '
        If oDrv.IsReady = False Then
            MsgBox "Nom du disque nommé " & disque & " inconnu"
            EspaceDisque = 0
            Exit Function
        Else
            EspaceDisque = oDrv.FreeSpace
        End If
        '
    End Function

    comment employer le nom du réseau du style \\serveur\partage\truc\troc ?
    Car l'alias W: n'est pas forcement bien définit sur tous les postes

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu peux aussi regarder à TotalSize dans l'aide en ligne, voici l'exemple donné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub AfficheEspace(drvpath)
        Dim fs, d, s
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
        s = "Lecteur " & d.DriveLetter & ":"
        s = s & vbCrLf
        s = s & "Taille totale : " & FormatNumber(d.TotalSize/1024, 0) & " Kilo-octets"
        s = s & vbCrLf
        s = s & "Disponible : " & FormatNumber(d.AvailableSpace/1024, 0) & " Kilo-octets"
        MsgBox s
    End Sub

Discussions similaires

  1. Connaitre l'espace disque disponible
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 01/07/2010, 07h54
  2. Réponses: 3
    Dernier message: 12/10/2007, 09h22
  3. Récupérer l'espace disque disponible
    Par Polux63 dans le forum Windows Mobile
    Réponses: 3
    Dernier message: 24/08/2007, 13h10
  4. [VB..] Espace disque disponible
    Par SfJ5Rpw8 dans le forum Contribuez
    Réponses: 1
    Dernier message: 18/09/2006, 18h57
  5. [ftp] obtenir l'espace disque disponible
    Par FFF dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 27/11/2005, 14h29

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