Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 2012
-
14 janv. 2005 à 13:36
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 2009
-
14 janv. 2005 à 13:57
la commande est dans une fonction NbrLigne
Const Fichier = "c:\tree.tmp"
on a copié au préalable dans le fichier tree.tmp tous les chemins de tous les fichiers de tous les dossiers et sous dossiers via la commande :
Fenetre = Shell("cmd.exe /c " + Chr(34) + "dir c:\*.* /s /b > " + Fichier + Chr(34), vbHide)
Function NbrLigne(Fichier As Variant)
On Error Resume Next
NbrLigne = -1
Open Fichier For Input As #14
If Err = 0 Then
While Not EOF(14)
Line Input #14, a
NbrLigne = NbrLigne + 1
Wend
End If
Close #14
End Function
Si quelqu' un pourait m expliquer ce que fait ce qui est en rouge ...ça m aiderait beaucoup ...
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 14 janv. 2005 à 13:48
Ah la la, les codes sans commentaires
'Ouvre le fichier c:\tree.tmp en lecture (For Input) en lui donnant le numéro de canal 14 (numéro qui permet de référencer le fichier que tu as ouvert)
Open Fichier For Input As #14
'Teste si il a réussi à ouvrir le fichier
If Err = 0 Then
'Parcourt le fichier jusque à sa fin (EOF = End Of File)
While Not EOF(14)
'Lit la ligne en cours du fichier et la stocke dans la variable a
Line Input #14, a
'Incrémente le nb de lignes lues
NbrLigne = NbrLigne + 1
Wend
End If
'Ferme le fichier
Close #14
ndsaerith
Messages postés304Date d'inscriptionvendredi 16 janvier 2004StatutMembreDernière intervention10 mai 20172 14 janv. 2005 à 13:57
Cela compte le nombre de lignes qu'il y a dans ton fichier (qui doit etre au format t exte).
Traduction :
Open Fichier For Input As #14
ouvrir le fichier "fichier" en lecture en tant que 14
14 c juste une sorte d'alias tu aurait pu mettre n'importe quoi à la place
for input c en lecture, il y a la possibilité de mettre en écriture (for append) ou en ajout (for output)
If Err = 0 Then
Ca je sais pas par contre, c surement pour dire s'il il n'y a pas d'erreurau niveau du fichier (chemin, extention...)
While Not EOF(14)
Tant que ce n'est pas la fin du fichier (eof = end of file)
Line Input #14, a
mettre dans la variable a la ligne en cours
NbrLigne = NbrLigne + 1
incrémenter le compteur de lignes de 1 (il a dc été initialisé à 0 avant la fonction)
Wend
refaire
End If
finsi
Close #14
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 14 janv. 2005 à 13:55
La fonction lit le fichier et compte le nombre de Lignes ce qui devrait correspondre au nombre total de fichiers, elle renvoie -1 en cas d'erreur.
pour l'appeler:
Dim totalfichier As Long
totalfichier = NbrLigne(Fichier)
il est préférable de spécifier le type renvoyé par la Fonction
Private Function NbrLigne(Fichier As Variant) As Long