kg_online
Messages postés39Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 4 juin 2007
-
10 févr. 2005 à 17:35
kg_online
Messages postés39Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 4 juin 2007
-
15 févr. 2005 à 17:40
Salut tout le monde
j'ai réalisé avec les if....then un programme qui fait une centaine de test et ça marche très bien.En fait,à chaque il cherche un fichier (correspondant et compare son poids avec un poids de référence.
Ce pendant j'ai décidé de le faire sous forme de boucle et pour se faire j'ai stocker toutes les infos dans deux tableaux....
J'ai créé une boucle mais ça marche pas bien et je sais pas ou se situe le problème.
Merci de votre aide!
voici mon code:
toto fl.Name<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" />
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200619 11 févr. 2005 à 13:19
Seulement, il faut que tes tableaux soient remplis (24 lignes) sinon, il faudra les remplir autrement :
Dim Nom() As String
Dim Max() As Double
Open "c:\documents and settings\???????\bureau\config.txt" For Input As #1
''''''''''''''''''''''''''l'''''''''''ire jusqu'à la fin de la page''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''
Do Until EOF(1)
i = i + 1
redim preserve nom(i)
redim preserve max(i)
Line Input #1, Ligne
Var1 = Mid(Ligne, 1, 6)
Var2 = Mid(Ligne, 11, 19)
'''''''''''''''''''''''chargement des infos du fichier config dans les deux tableaux'''''''''''''''
Max(i) = (Var1)
Nom(i) = Trim(Var2)
Loop
kg_online
Messages postés39Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 4 juin 2007 10 févr. 2005 à 23:24
CanisLupus
j'ai déjà essayé ta méthode mais ça marche pas en gros ça marche pas comme je le souhaite.Sinon pour l'initialisation de a je pense pas que ça pose problème parce que a= 0 par défaut je l'ai vérifié.Aussi j'ai utiliser a par ce que j'ai déjà utilisé i précédement
Manu
J'ai un dossier qui comporte plusieurs fichiers et je veux vérifier, pour chacun de ces fichiers, que la taille ne dépasse pas une certaine taille de référence.
Je pense que je vais vous envoyer ce qui précéde peut être vous comprendrez mieux.
Voilà!!!!
-------------------------------------------------------------------------------------------
Private Sub Command1_Click()
'''''''
Dim i As Integer
''''''''''''''''''''''''''''''''''''''''Déclaration de tableau'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim Nom(1 To 24) As String
Dim Max(1 To 24) As Double
Dim var3 As Double
'''''''''''''''''''''''''''''''''''''''''ouverture du fichier config'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Open "c:\documents and settings\???????\bureau\config.txt" For Input As #1
''''''''''''''''''''''''''l'''''''''''ire jusqu'à la fin de la page''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''
Do Until EOF(1)
i = i + 1
Line Input #1, Ligne
Var1 = Mid(Ligne, 1, 6)
Var2 = Mid(Ligne, 11, 19)
'''''''''''''''''''''''chargement des infos du fichier config dans les deux tableaux'''''''''''''''
Max(i) = (Var1)
Nom(i) = Trim(Var2)
Loop
'''''''
Dim fos As Scripting.FileSystemObject
Dim fd As Scripting.Folder
Dim fl As Scripting.File
Dim sFolder As String
''''''''''''''''''''''''''''''''''Initialisation du nom du dossier''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sFolder = "dossier?????????????????"
Set fos = CreateObject("Scripting.FileSystemObject")
'Récupérer l'instance du dossier
Set fd = fos.GetFolder(sFolder)
''''''''''''''''''''''''''''''''''lister les fichiers''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For Each fl In fd.Files
toto = fl.Name
poids = fl.Size
''''''''' ''''''''''''''''''''''''la boucle''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Do until a=24
a=a+1
If InStr(toto, Nom(i)) > 0 Then
If poids < Max(i) Then
MsgBox ("c'est bon T=" & toto)
Else
MsgBox "pas bon"
End If
End If
Next fl
Close #1
End Sub
---------------------------------------------------------------------------------------
Le fichier config.text:
6656 MID_8_PV.mid
11294 MID_8.mid
102000 AMR_PV.amr
40000 AMR.amr
-------------------------------------------------------------------------------------
RMQ : Sinon pour les if.......then ça marche et c'est:
For Each fl In fd.Files
toto = fl.Name
poids = fl.Size
If InStr(toto, Nom(1)) > 0 Then
If poids < Max(1) Then
MsgBox ("c'est bon T=" & toto)
Else
MsgBox "pas bon"
End If
End If
If InStr(toto, Nom(2)) > 0 Then
If poids < Max(2) Then
MsgBox ("c'est bon T=" & toto)
Else
MsgBox "pas le bon"
End If
End If
If InStr(toto, Nom(3)) > 0 Then
If poids < Max(3) Then
MsgBox ("c'est bon T=" & toto)
Else
MsgBox "pas le bon"
End If
End If
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200619 11 févr. 2005 à 13:12
Alors essaie ça :
For Each fl In fd.Files
toto = fl.Name
poids = fl.Size
For a = 1 To UBound(toto)
If InStr(toto, Nom(a)) > 0 Then
If poids < Max(a) Then
MsgBox ("c'est bon T=" & toto)
Else
MsgBox "pas bon"
End If
End If
Next a