Problème dans l'itération de boucle For

Titi_Malembourg

XLDnaute Occasionnel
Hello everybody !

J'ai un problème dans ma boucle for. Cependant, je n'arrive pas à comprendre la nature de ce problème :


LambdaPAS = 0.1

For Lambda = LambdaMIN To LambdaMAX Step LambdaPAS
ActiveSheet.Range(AddressTraitement).Offset(0, 11 + (Lambda - LambdaMIN) / LambdaPAS).Value = Lambda
Next Lambda

Pour un LambdaMIN = 6.8 et un LambdaMAX = 7.1, la boucle n'execute pas la commande du milieu et se termine.
Pour un LambdaMIN = 6 et un LambdaMAX = 8.2, Lambda prend une valeur de type 7.3999999 ce qui est totalement impossible !
Comment cela se fait-il ?

P.S. : Lambda PAS MIN et MAX sont dimensionnés en Single.
 
Y

Yeahou

Guest
Bonjour Titi_Malembourg

bienvenue dans les arrondis d'excel
contournement, travailler sur des entiers ou des longs
Code:
Dim LambdaMIN As Long, LambdaMAX As Long, Lambda As Long
LambdaMIN = 68
LambdaMAX = 71
LambdaPAS = 1
For Lambda = LambdaMIN To LambdaMAX Step LambdaPAS
ActiveSheet.Range(AddressTraitement).Offset(0, 11 + ((Lambda - LambdaMIN) / LambdaPAS)).Value = Lambda / 10
Next Lambda


Cordialement, A+
 

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 020
Membres
103 097
dernier inscrit
Benduch