erreur de boucle

erreur de boucle - VB/VBA/VBS - Programmation

Marsh Posté le 02-03-2009 à 18:02:30    

Bonjour
j'ai une erreur dans ma boucle que je n'arrive pas à corriger
 
voici le passage  concerné :
 
RecSetTEnr.MoveFirst
     RecSetTEnr2.MoveFirst
 
     For x = 1 To Cpte                     ( indique la fin du fichier , fin qui n'est pas toujours identique )
 
         V = RecSetTEnr(1)                  
             Rtat = Rtat & V
         For i = x + 1 To Cpte
             V2 = RecSetTEnr2(1)              
             If V2 > V Then
                 RecSetTEnrRtat.AddNew
                 RecSetTEnrRtat(NomChamp1) = V
                 RecSetTEnrRtat(NomChamp2) = V2
                 RecSetTEnrRtat.Update
             End If
             RecSetTEnr2.MoveNext
         Next i
     RecSetTEnr2.MoveFirst
     RecSetTEnr.MoveNext
     Next x
 
le but de cette boucle est de composer toutes les combinaisons de n nombres pris par 2
les résultats sont notés dans une table
Donc dans une liste de 10 nombres classés croissant on doit avoir    (10 *9 ) / ( 1*2 ) soit 45 résultats
 
l'anomalie vient du fait que la boucle ne prend pas en compte le dernier nombre   et à chaque cycle ça diminue d' 1 , le dernier nombre alors n'est pas pris  
le résultat est pratiquement réduit de moitié et complètement faux
 
Merci à qui peut m'éclairer

Reply

Marsh Posté le 02-03-2009 à 18:02:30   

Reply

Marsh Posté le 02-03-2009 à 21:19:45    

Il faudrait savoir ce qu'il y a dans Cpte.
Mais, peut-être qu'une solution serait d'écrire

For x = 0 To Cpte

ou

For x = 1 To Cpte + 1

Reply

Marsh Posté le 03-03-2009 à 08:28:04    

merci de ta reponse
ca marche

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed