Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Occupation d'un volume disue

3 réponses
Avatar
Gérard
Bonjour,

Je voudrais savoir s'il existe une fonction en VB qui=20
permet de v=E9rifier le taux d'occupation d'un volume=20
disque, car je fais de l'enregistrement automatique de=20
classeur Excel.
Si le disque est rempli =E0 plus de 80%, juste avant=20
l'enregistrement, je souhaite pr=E9venir l'op=E9rateur qu'il=20
va falloir envisager de faire un peu de m=E9nage.

Si cette fonction n'existe pas, Y a t il quelqu'un qui a=20
d=E9velloper quelque chose de similaire?

Merci d'avance

G=E9rard

3 réponses

Avatar
RaMa
Bonjour

à adapter

Private Declare Function SHGetDiskFreeSpace Lib "shell32" Alias
"SHGetDiskFreeSpaceA" (ByVal pszVolume As String, pqwFreeCaller As Currency,
pqwTot As Currency, pqwFree As Currency) As Long
Private Sub Form_Load()
'KPD-Team 2000
Dim FreeCaller As Currency, Tot As Currency, Free As Currency
SHGetDiskFreeSpace "C:", FreeCaller, Tot, Free
MsgBox "Free space to caller: " + Format$(FreeCaller * 10000,
"###,###,###,##0") + vbCrLf + _
"Total space: " + Format$(Tot * 10000, "###,###,###,##0") + vbCrLf +
_
"Free space: " + Format$(Free * 10000, "###,###,###,##0")
End Sub


--
RaMa
"Gérard" a écrit dans le message de
news:841101c40349$6b9fb0a0$
Bonjour,

Je voudrais savoir s'il existe une fonction en VB qui
permet de vérifier le taux d'occupation d'un volume
disque, car je fais de l'enregistrement automatique de
classeur Excel.
Si le disque est rempli à plus de 80%, juste avant
l'enregistrement, je souhaite prévenir l'opérateur qu'il
va falloir envisager de faire un peu de ménage.

Si cette fonction n'existe pas, Y a t il quelqu'un qui a
dévelloper quelque chose de similaire?

Merci d'avance

Gérard
Avatar
Michel Pierron
Bonjour Gérard;
Sub DiskInfos()
Dim fs, d
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName("C:")))
MsgBox "Lecteur " & d.DriveLetter & ":" & vbLf _
& "Taille totale : " & vbTab & FormatNumber(d.TotalSize / 1024, 0) _
& " Kilo-octets" & vbLf & "Disponible : " & vbTab _
& FormatNumber(d.AvailableSpace / 1024, 0) & " Kilo-octets"
End Sub

MP

"Gérard" a écrit dans le message de
news:841101c40349$6b9fb0a0$
Bonjour,

Je voudrais savoir s'il existe une fonction en VB qui
permet de vérifier le taux d'occupation d'un volume
disque, car je fais de l'enregistrement automatique de
classeur Excel.
Si le disque est rempli à plus de 80%, juste avant
l'enregistrement, je souhaite prévenir l'opérateur qu'il
va falloir envisager de faire un peu de ménage.

Si cette fonction n'existe pas, Y a t il quelqu'un qui a
dévelloper quelque chose de similaire?

Merci d'avance

Gérard
Avatar
Frédéric Sigonneau
Bonjour,

Une autre approche possible :

'===================== Sub test()
MsgBox TauxOccupation("c:")
End Sub

Function TauxOccupation(Lecteur)
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(.GetDriveName(Lecteur))
TauxOccupation = _
Format((.totalsize - .freespace) / .totalsize, "0.##%")
End With
End With
End Function
'=====================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

Gérard a écrit:
Bonjour,

Je voudrais savoir s'il existe une fonction en VB qui
permet de vérifier le taux d'occupation d'un volume
disque, car je fais de l'enregistrement automatique de
classeur Excel.
Si le disque est rempli à plus de 80%, juste avant
l'enregistrement, je souhaite prévenir l'opérateur qu'il
va falloir envisager de faire un peu de ménage.

Si cette fonction n'existe pas, Y a t il quelqu'un qui a
dévelloper quelque chose de similaire?

Merci d'avance

Gérard