Compter le nombre de fichiers d'un dossier et declencher une alerte ( fenêtre, m [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010
-
timadone
Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010
-
En utilisant le code ci dessous par exemple, comment peut on compter le nombre de fichiers dans un dossiers et déclencher une alerte ( fenêtre ou mail ou bip sonore) uniquement quand le nombre de fichiers dépasse 10 fichiers par exemple?

Dim Path
Path = "D:\Mes scripts vbs"
MsgBox ShowFolderList(Path),vbmessage,"Fichiers contenus dans le répertoire " & Path
Function ShowFolderList(strPath)
Dim fso, Dossiers, fic, fichiers, strListe, nbre
Set fso = CreateObject("Scripting.FileSystemObject")

Set Dossiers = fso.GetFolder(strPath)
Set fic = Dossiers.Files
'pour chaque fichier de mon objet files de mon objet fso...:)
For Each fichiers in fic
'le nom du fichier
nbre = nbre + 1
'strListe = strListe & vbcrlf & vbcrlf & fichiers.Name & " Date (jjmmaa) : " & fichiers.DateLastModified & " Taille (octet) : " & fichiers.Size
Next
ShowFolderList = nbre
'ShowFolderList = strListe
End Function
Set fso = Nothing

3 réponses

Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011

Sub fichier()
Dim Path
Path = "C:\Documents and Settings\robert mugabuhamye\Desktop"
Dim nbfich As Integer
    nbfich = ShowFolderList(Path) 'tu recupère le nombre de fichier
    MsgBox nbfich, vbOKOnly, "Fichiers contenus dans le répertoire " & Path 'tu l'affiche
    
    If nbfich > 10 Then 'si supérieur à 10
    
    MsgBox "Attention le nombre de fichiers est > à 10", vbExclamation + vbOKOnly, "Alerte" 'tu le signale
    End If
End Sub

Function ShowFolderList(strPath) As Integer
Dim fso, Dossiers, fic, fichiers, strListe, nbre
Set fso = CreateObject("Scripting.FileSystemObject")

Set Dossiers = fso.GetFolder(strPath)
Set fic = Dossiers.Files
'pour chaque fichier de mon objet files de mon objet fso...:)
For Each fichiers In fic
'le nom du fichier
nbre = nbre + 1
'strListe = strListe & vbcrlf & vbcrlf & fichiers.Name & " Date (jjmmaa) : " & fichiers.DateLastModified & " Taille (octet) : " & fichiers.Size
Next
ShowFolderList = nbre
'ShowFolderList = strListe
Set fso = Nothing
End Function




A good excercise for the Heart is to bend down and help another up...
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
25
 Bonjour,

Pourquoi ne pas utiliser la propriété count

Option Explicit
Const MyFolder = "d:\RECUP"

Dim objFso
Set objFso = CreateObject("Scripting.FileSystemObject")

If objFso.FolderExists(MyFolder) Then
   If objFso.GetFolder(MyFolder).Files.Count > 10 Then MsgBox "alert",vbExclamation
End If
Set objFso = Nothing


jean-marc
Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010

Merci les gars !