Bonjour,
voici le code qui me pose problème :
Ce code donne comme premiers résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ligne = 0 Dim x As Double For x = 1 To 2 Step 0.001 If (x * 1000 = Int(x * 1000)) Then Cells(ligne, 1).Value = x ligne = ligne + 1 End If Next
1
1,002
1,004
1,006
...
1,024
1,025
1,026
...
Pourquoi entre 1 et 1,024 le résultat va-t-il de 0,002 en 0,002 (au lieu de 0,001 en 0,001) alors qu'à partir de 1,025 ça fonctionne normalement ???
(ce code ne semble pas avoir de sens mais c'est parce que je l'ai simplifié. J'ai besoin de faire ce test : If (x * 1000 = Int(x * 1000)) car mon but est de récupérer les valeurs qui n'ont que 3 décimales alors si vous avez d'autres suggestions...)
Merci pour votre aide !
PS : on peut résumer le problème ainsi : pourquoi Int(1.009*1000)=1008 ?
Partager