[VB6] Condition d'une boucle

Résolu
Bonjour,

  While TAjoutAgnelage.Num_brebis <> TBrebis(placeBrebis).noBrebis And TAjoutAgnelage.date_nais <> TBrebis(placeBrebis).dateNaissance
            placeBrebis = placeBrebis + 1
    Wend


J'aimerai que sortir de ma boucle lorsque TAjoutAgnelage.Num_brebis = TBrebis(placeBrebis).noBrebis ET TAjoutAgnelage.date_nais = TBrebis(placeBrebis).dateNaissance

Mais cela ne fonctionne pas le programme sort de la boucle lorsque TAjoutAgnelage.Num_brebis = TBrebis(placeBrebis).noBrebis mais avec TAjoutAgnelage.date_nais différent de TBrebis(placeBrebis).dateNaissance

Where is the problème please ?

Merci d'avance !



--
Dans tout les tiek's ca chuchotte

2 réponses

  1. Bonjour,

    Pourquoi faire un While ?

    Tu parcours un tableau avec pour index "placeBrebis". Essaie ça:

    Dim i As Long 
    
    For i = LBound(TBrebis()) To UBound(TBrebis()) 
         If TAjoutAgnelage.Num_brebis = TBrebis(placeBrebis).noBrebis And _ 
               TAjoutAgnelage.date_nais = TBrebis(placeBrebis).dateNaissance Then 
    
              'mon code 
    
         End If 
    Next i


    ;o)
    «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
    Nicolas Boileau
    0
    1. Bonjour,
      C'est pas un problème VisualBasic que tu as, mais un problème de compréhension de l'algorithmie.

      Tu souhaite sortir de ta boucle quand 'Condition1=Vrai ET Condition2=Vrai'
      Donc il faut boucler tant que 'Condition1=Faux OU Condition2=Faux'

      Et donc il faut remplacer ton And par un Or ;
      Tant que l'un OU l'autre est faux, on boucle. Donc en sortie de boucle les deux seront vrais.
      Dans ton cas, tu sors dès que l'un des deux est vrai.

      Cordialement, M.
      1
      1. Merci bien !
        Mais où avais-je la tête :)
        0