XL 2019 Soucis avec la fonction Int en VBA

  • Initiateur de la discussion Initiateur de la discussion Drxl
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Drxl

XLDnaute Nouveau
Bonjour,
Je dois transposer des macros Excel sous C# et vérifier que les résultats sont identiques
Seulement j'ai un soucis avec une fonction très simple : "Int"
D'apres ce que j'en ai compris, la fonction Int renvoie l'entier inférieur le plus proche :
Int(88,1) = 88
Int(88.9) = 88
ce qui correspondrait sous c# à Math.Floor()

Mon soucis vient d'un comportement de la fonction "Int" que je ne comprend pas
Pour vous montrer mon problème, j'utilise dans la windows "Immediate"

?(150+7.3)*10
1573

?Int((150+7.3)*10)
1572

?Int(1573)
1573

Je ne comprends pas pourquoi j'obtiens 1572 avec "?Int((150+7.3)*10)"

Par avance, merci de m’éclairer.
PS : le fichier excel n'est pas modifiable, je dois comprendre sa manière de focntionner pour le transposer en c#
 
Dernière édition:
Solution
j'ai quand même remarqué que Cint(1.9) retourne 2 alors que INT(1.9) retourne 1!

utilise ça c'est un convertisseur VB.net C# à quelque exception près il devrait donné satisfaction!
1631618778748.png
propension de vba à chercher à évaluer à la compilation, en tant que constantes les expressions composées exclusivement de constantes.
Maintenant que tu l'écris, j'ai effectivement déjà rencontré des comportement étranges avec des expressions constituées uniquement de constantes. Je m'étais dit à l'époque que VBA devait attribuer des types implicites (entier ou non et pas connus d’avance) aux différents termes de l'expression pendant l'évaluation de la formule et que ceci pouvaient justifier un résultat étrange. Je n'avais pas creusé plus que ça.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour