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

Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010
- - Dernière réponse : timadone
Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010
- 13 sept. 2010 à 13:13
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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
14 février 2011
3
Merci
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...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de the_little_big_man
Messages postés
1855
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
23
3
Merci
 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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_JMO
Messages postés
3
Date d'inscription
mercredi 16 mai 2007
Statut
Membre
Dernière intervention
13 septembre 2010
3
Merci
Merci les gars !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de timadone