nah666
Messages postés75Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 7 janvier 20081 26 sept. 2007 à 15:20
Mettre CompteurFichiers a 0
Tant qu'il reste des fichiers
créer fichier
incrementer CompteurFichiers
si CompteurFichiers >=1000
Créer repertoire
Mettre CompteurFichiers a 0
Finsi
FinTant
C'etait, ... trés eprouvant mentalement ... , je comprend que tu aie eu besoin d'aide
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 26 sept. 2007 à 15:39
Salut,
Regarde ce code de PCPT(Snippet déposé), il te permet de compter un certains type de fichier voir tous les fichiers :
Function CountFilesFromDirectory(ByVal sDir As String, Optional ByVal sFilter As String = "*.*") As Long
CountFilesFromDirectory = 0
If RightB$(sDir, 2) <> "" Then sDir = sDir & ""
' formate le chemin
Dim sFile As String
sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
If LenB(sFile) > 0 Then
' boucle sur tous les fichiers (et incrémente)
Do
CountFilesFromDirectory = CountFilesFromDirectory + 1
sFile = Dir
Loop Until LenB(sFile) = 0
End If
End Function
' EXEMPLE D'UTILISATION
Private Sub Form_Load()
' compte toutes les dll dans windows
MsgBox CountFilesFromDirectory("C:\Windows", "*.dll")
' compte tous les fichiers dans temp
MsgBox CountFilesFromDirectory(Environ$("TEMP"))
End Sub
Maitenant que tu peux compter tous les fichiers, utilise Mkdir pour créer ton répertoire quant tu atteints 1000 fichiers(ce que te renvois CountFilesFromDirectory)
cs_globule
Messages postés327Date d'inscriptionmardi 8 octobre 2002StatutMembreDernière intervention 6 octobre 2010 26 sept. 2007 à 15:40
En fait je connais déjà le nombre de fichier, puisque ce dernier correspond a une clé auto incrémentielle dans une base de données.
J'ai finalement fait l'algo suivant qui fonctionne
NumImg correspond au numéro de mon fichier, j'ai crée un repertoire tous les 10 fichiers pour le test, il suffit donc de remplacer step -10 par step -1000
NumRep = 0
For NumRep = 150000 To 1 Step -10
If NumImg > NumRep Then
If Dir(MyChReseau + "\imageexterne\REP_" & NumRep, vbDirectory) = "" Then MkDir (MyChReseau + "\imageexterne\REP_" & NumRep)
Exit For
End If
Next
If NumRep < 1 Then
NumRep = 1
If Dir(MyChReseau + "\imageexterne\REP_" & NumRep, vbDirectory) = "" Then MkDir (MyChReseau + "\imageexterne\REP_" & NumRep)
End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 26 sept. 2007 à 17:11
Salut,
Content de voir que tu as trouver ta solutions, mais précise la prochaine fois un peu plus tes demandes de ce que tu connais >> En fait je connais déjà le nombre de fichier, puisque ce dernier correspond a une clé auto incrémentielle dans une base de données