la fonction utilisée de cette source est PathNumberOfObjet qui retourne le nombre d'objets dans le répertoire. Je voudrais itérer sur chaque dossier en y comptant le nombre d'objets pour le déduire du total. Le code donne ça, mais ça ne marche pas, et je ne suis pas sûr de pouvoir utiliser "folder" (erreur 438, l'objet ne gère pas cette propriété ou cette méthode...)
Dim parasite as integer
Dim fofo as string
For Each Folder In Dir1
fofo = Folder.Name
parasite = parasite + PathNumberOfObjet (fofo, FILE_ATTRIBUTE_ALL_FILE)
Next
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 sept. 2007 à 13:08
Essaie peu être
Private Sub Form_Load()
'ceci devrait te renvoyer le nombre de fichier contenu dans C:\
MsgBox (FileRepCount("C:\"))
End Sub<hr />
Private Function FileRepCount(ByVal RepPath As String) As Integer
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
FileRepCount = Fso.GetFolder(RepPath).Files.Count
Set Fso = Nothing
End Function<hr />, ----
[code.aspx?ID=41455 By Renfield]
Si cela est très loin de ce que tu souhaites faire. Explique un peu mieux.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 sept. 2007 à 15:14
Re,
C'est bien parce que c'est lundi et que je suis encore plein de bonne volonté
Tiens cette correction de la meme fonction de compte que les fichiers ayant les extension avi*
Private Function FileRepCount(ByVal RepPath As String) As Integer
Dim Fso
Dim Fi
Set Fso = CreateObject("Scripting.FileSystemObject")
For Each Fi In Fso.GetFolder(RepPath).Files
If UCase(Fso.GetExtensionName(Fi.Name)) = "AVI" Then
FileRepCount = FileRepCount + 1
End If
Next
Set Fso = Nothing
End Function<hr />, ----
[code.aspx?ID=41455 By Renfield]
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 sept. 2007 à 13:03
Salut,
Toi tu cherches simplement à récupérer la taille des fichiers présent dans un répertoire SANS aller chercher la taille des fichiers éventuels sousrépertoire c'est cela?
Billybobbonnet
Messages postés148Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 9 novembre 2013 10 sept. 2007 à 13:17
Pour éclaircir le problème:
J'ai des fichiers vidéos dont le nombre de frames est identique. Je multiplie donc le nombre de frames par le nombre de fichiers vidéos dans mon répertoire pour avoir le nombre total de frames, tous fichiers confondus. Le problème, c'est que j'ai un sous-répertoire "son", avec des fichiers audio dedans. Or, les fichiers son du sous-répertoire "son" sont aussi comptés avec ma fonction PathNumberOfObjet (tout comme avec la tienne je suppose), ce qui biaise le résultat du nombre de frames. (dans mon exemple, il y a trois fichiers vidéos dans mon dossier, et 5 audio dans le sous dossier "son")
Je voudrais, pour chaque sous répertoire de mon répertoire de départ, compter le nombre d'objets, et le soustraire du nombre d'objet total pour n'avoir que ce qui m'intéresse.
C'est la seule méthode que j'ai trouvé pour le moment mais si tu as plus simple pour connaitre le nombre de fichiers dans un répertoire, à l'exclusion du nomnre de fichier des sous-répertoires, je suis preneur!
Billybobbonnet
Messages postés148Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 9 novembre 2013 10 sept. 2007 à 13:20
Je précise que je ne suis pas toujours dans la même configuration de répertoires, sous-répertoires, et que du coup je voudrais une fonction qui fonctionne à tous les coups, quelque soit le nombre de ss répertoires.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 sept. 2007 à 13:31
Re,
Non avec ma fonction SEULS les fichiers du répertoire passer en parametre sont comptés. LEs fichiers qu'il peu y avoir dans les sous répertoire ne sont pas compté.
Le mieux c'est que tu test en mettant ton répertoire pour voir.
Billybobbonnet
Messages postés148Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 9 novembre 2013 10 sept. 2007 à 14:50
Ce sont tous des fichiers avi mais il peut y en avoir d'autres. J'ai donc spécifié que seuls les fichiers à traiter doivent être dans le répertoire, et c'est dommage. L'idéal aurait été une méthode pour compter les fichiers avi uniquement les fichiers du répertoire mais je n'ai pas ça sous la main...
Billybobbonnet
Messages postés148Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 9 novembre 2013 10 sept. 2007 à 14:53
holà je viens de me relire et ce n'est pas très clair.
-L'idéal serait de ne compte que les fichiers.avi du répertoire (sans ceux des sous répertoires)
- Il n'y a pas forcément que des .avi dans le répertoire
- J'ai donc écrit sur ma form, au dessus de la filebox "seuls les fichiers à traiter doivent être dans le répertoire" (solution de facilité, je vous l'accorde)