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

timadone 3 Messages postés mercredi 16 mai 2007Date d'inscription 13 septembre 2010 Dernière intervention - 9 sept. 2010 à 17:05 - Dernière réponse : timadone 3 Messages postés mercredi 16 mai 2007Date d'inscription 13 septembre 2010 Dernière intervention
- 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
the_little_big_man 86 Messages postés lundi 22 janvier 2007Date d'inscription 14 février 2011 Dernière intervention - 10 sept. 2010 à 10:58
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...

Merci the_little_big_man 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de the_little_big_man
Meilleure réponse
cs_JMO 1855 Messages postés jeudi 23 mai 2002Date d'inscription 24 juin 2018 Dernière intervention - 12 sept. 2010 à 17:09
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

Merci cs_JMO 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de cs_JMO
Meilleure réponse
timadone 3 Messages postés mercredi 16 mai 2007Date d'inscription 13 septembre 2010 Dernière intervention - 13 sept. 2010 à 13:13
3
Merci
Merci les gars !

Merci timadone 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes 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.