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

Votre réponse

3 réponses

Meilleure réponse
Messages postés
86
Date d'inscription
lundi 22 janvier 2007
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 123 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
Dernière intervention
24 juin 2018
26
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 123 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
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 123 internautes nous ont dit merci ce mois-ci

Commenter la réponse de timadone

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.