luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005
-
26 juil. 2005 à 00:12
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005
-
26 juil. 2005 à 22:17
Voilà, j'ai une base de données contenant des numéros de lotto, et j'aimerai savoir combien de fois chaque boule est sortie...
Voici le code que j'ai écris, le problème est que lors de l'affichage, j'ai des zéro partout du au RAZ, mais aucun classement.
Voici le code :
stFichier = (App.Path & "\Lotto.dat")
Open stFichier For Input As #1
num_fiche_stat = 0
Do While Not EOF(1)
num_fiche_stat = num_fiche_stat + 1
Line Input #1, tabl1(num_fiche_stat, 6) => de 6 à 12 = 7 boules (6 boules + 1 compl) ==> 1 combinaison
Line Input #1, tabl1(num_fiche_stat, 7)
Line Input #1, tabl1(num_fiche_stat, 8)
Line Input #1, tabl1(num_fiche_stat, 9)
Line Input #1, tabl1(num_fiche_stat, 10)
Line Input #1, tabl1(num_fiche_stat, 11)
Line Input #1, tabl1(num_fiche_stat, 12)
Loop
Close #1
' RAZ des labels
For i = 0 To 41 D'ou 42 boules
lblBoules(i).Caption = "0" RAZ des lblBoules
Next i
For i = num_fiche_stat To tot_fiches_stat De la première fiche à la dernière For j 6 To j 12 Chaque combinaison de boule => 7 boules (6+1compl)
K(j) = tabl1(i, j) - 1 -1 car les lblBoules commence à zéro (index) lblBoules(K(j)).Caption lblBoules(K(j)).Caption + 1 +1 comptabilisation des boules
Next j
Next i
Donc voilà, je ne sais pas où j'ai fais une erreur. Donc il m'affiche des zéros dans toutes les lblboules(i).
Merci d'avance pour votre aide.
Luca62
A voir également:
Classement des boules de lotto pour statisque _ problème lors de l'affichage ?
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005 26 juil. 2005 à 10:47
C'est plutôt bizarre, quand je retire le J, j'ai ce message d'erreur : "subscript out of range".
Cependant, j'ai modifié, un peut le code :
For i = num_fiche_stat To tot_fiches_stat
For j = 6 To 12
K(i, j) = tabl1(i, j) - 1
lblBoules(K(i, j)).Caption = lblBoules(K(i, j)).Caption + 1 Car le k(i,j), y a une valeur pour chaque i et charque k
'lblBoules(tabl1(i, j) - 1).Caption = lblBoules(tabl1(i, j) - 1).Caption + 1
Next j
Next i
Et par hasard, comment vous auriez déclaré le k(i,j) ?? Autrement je comprend pas ?? Par contre j'ai pas compris le truc de refresh, car je suis dans la form load, et donc il devrait de tout façon indiquer quelque chose non ?
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005 26 juil. 2005 à 12:06
Je ne l'ai pas défini, c'est un tableau, pour les autres frm, ça fonctionne. Lors de l'ouverture du fichier, je range les différentes valeurs dans tabl1()
Do While Not EOF(1)
num_fiche_stat = num_fiche_stat + 1
Line Input #1, tabl1(num_fiche_stat, 6) => de 6 à 12 = 7 boules (6 boules + 1 compl) ==> 1 combinaison
Line Input #1, tabl1(num_fiche_stat, 7)
Line Input #1, tabl1(num_fiche_stat, 8)
Line Input #1, tabl1(num_fiche_stat, 9)
Line Input #1, tabl1(num_fiche_stat, 10)
Line Input #1, tabl1(num_fiche_stat, 11)
Line Input #1, tabl1(num_fiche_stat, 12)
Loop
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005 26 juil. 2005 à 12:43
J'ai essayer pas mal de ces définitions dont :
dim tabl1() as integer
dim tabl1() as string
Les autres il ne les accepte pas ?
Et ensuite, j'ai des erreurs soit subcript out of range ou type mismatch et dans la procédure d'ouverture : Do While Not EOF(1)
num_fiche_stat = num_fiche_stat + 1
Line Input #1, tabl1(num_fiche_stat, 6)
Et quand je ne le déclare pas, j'ai pas d'erreur dedans .... Et pourquoi le faite qu'il soit variant engendre des erreurs ?
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005 26 juil. 2005 à 13:11
Je me demandais si le problème venais pas du fait que je n'ouvrais pas tout le fichier j'ai selement ouvrer du 6 à 12 :
Line Input #1, tabl1(num_fiche_stat, 6)
Line Input #1, tabl1(num_fiche_stat, 7)
Line Input #1, tabl1(num_fiche_stat, 8)
Line Input #1, tabl1(num_fiche_stat, 9)
Line Input #1, tabl1(num_fiche_stat, 10)
Line Input #1, tabl1(num_fiche_stat, 11)
Line Input #1, tabl1(num_fiche_stat, 12)
Et que je n'ouvre pas ceux de 1 à 5 ??
Alors, je m'étais bien trompé, j'avais bien déclarer tabl1 comme ça dans un module : public tabl1 (5000,12)
alors, j'ai refais comme tu m'as montré, donc, public tabl1() as integer dans le module et dans la forme en question, ReDim Tabl1(5000, 12)
Mais il me met le message d'erreur suivant : invalid outside procedure en me selectionnant le ReDim Tabl1(5000, 12) ??
J'ai aussi réouvert tout le fichier : stFichier = (App.Path & "\Lotto.dat")
luca62
Messages postés56Date d'inscriptiondimanche 26 décembre 2004StatutMembreDernière intervention 4 août 2005 26 juil. 2005 à 21:29
Voilà, quand je met le re, j'ai le message d'erreur suivant à l'ouverture de la feuille : invalid outside procedure
J'ai eu également un petit problème en fesant quelque modications cette après midi. Pour toujours le même code :
For i = num_fiche_stat To tot_fiches_stat
For j = 6 To 12
k1 = Tabl1(i, j) - 1
k2 = lblBoules(k1).Caption pour cette phrase j'ai le message d'erreur suivant : control array element '66' does not exist ???
lblBoules(k1).Caption = k2 + 1
Next j
Next i