XL 2016 boucle while problematique

djiska

XLDnaute Junior
bonjour

j'ai un soucie avec mon code .
je suppose que cela est du à mon application du While qui m'engendre une boucle infinie.

en fait, il y a un capteur qui simule les données de voltage et temps.
Ma procedure qui recois deux parametres par reference fournis par le capteur ( temps et voltage)
j'ai aussi une variable tempsMaximale qui est un double et que je peux donner n'importe quelle valeur

Maintenant, Tant que le temps est inferieur au tempsMaximale
on lit la prochaine donnée du capteur(temps et voltage)
on compte le nombre de mesures obtenues

Merci de votre aide

1590819137543.png
 
Solution
Bonjour tout le monde,
Pourrais t_on avoir aussi les codes des deux module ModuleSignal.Reinit et Obtenir ainsi que ModuleEcran ?
D'autre part dans votre boucle, temps est fixe car modifié par ModuleSignal Obtenir qui n'est pas dans la boucle.
Peut être une solution :
VB:
while temps <= tempsmax
 Call ModuleSignal.Obtenir.....
  nbvaleur = nbvaleur + 1
wend
De cette façon temps est ré actualisé dans la boucle While.

jmfmarques

XLDnaute Accro
Bonjour
Je préfère personnellement à ce stade t'inviter à nous exposer ce qui te ferait penser qu'au sein de cette boucle :
VB:
while temps <= tempsmax
  nbvaleur = nbvaleur + 1
wend
le variable temps et tempsmax évolueraient jusqu'à ce qu'à un moment, tempsmax soit supérieur à temps.
ta réponse m'intéresse grandement.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour tout le monde,
Pourrais t_on avoir aussi les codes des deux module ModuleSignal.Reinit et Obtenir ainsi que ModuleEcran ?
D'autre part dans votre boucle, temps est fixe car modifié par ModuleSignal Obtenir qui n'est pas dans la boucle.
Peut être une solution :
VB:
while temps <= tempsmax
 Call ModuleSignal.Obtenir.....
  nbvaleur = nbvaleur + 1
wend
De cette façon temps est ré actualisé dans la boucle While.
 

djiska

XLDnaute Junior
Bonjour
Je préfère personnellement à ce stade t'inviter à nous exposer ce qui te ferait penser qu'au sein de cette boucle :
VB:
while temps <= tempsmax
  nbvaleur = nbvaleur + 1
wend
le variable temps et tempsmax évolueraient jusqu'à ce qu'à un moment, tempsmax soit supérieur à temps.
ta réponse m'intéresse grandement.

Merci de ta réponse.
En fait, le compteur Nbvaleur sert à compter le nombre d'iteration réalisée jusqu'a ce que Temps devienne = à tempsmax
 

djiska

XLDnaute Junior
@
Bonjour tout le monde,
Pourrais t_on avoir aussi les codes des deux module ModuleSignal.Reinit et Obtenir ainsi que ModuleEcran ?
D'autre part dans votre boucle, temps est fixe car modifié par ModuleSignal Obtenir qui n'est pas dans la boucle.
Peut être une solution :
VB:
while temps <= tempsmax
Call ModuleSignal.Obtenir.....
  nbvaleur = nbvaleur + 1
wend
De cette façon temps est ré actualisé dans la boucle While.

@sylvanu effectivement ta réponse m'a permis de corriger le problème
Merci beaucoup
 

Discussions similaires

Statistiques des forums

Discussions
311 713
Messages
2 081 806
Membres
101 819
dernier inscrit
lukumubarth