XL 2016 VBA - Problème de calcul, dépassement de capacité

  • Initiateur de la discussion Initiateur de la discussion danielco
  • 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 !

danielco

XLDnaute Barbatruc
Bonjour,

C'est sans doute simple, mais je ne vois pas... Le code suivant fonctionne :
Code:
R = Int(100000 / 65536)
Mais pas :
VB:
R = Int(100000 / (255 * 255))

Erreur 6 dépassement de capacité. R est défini sans indication de type.

merci par avance.

Daniel
 
Bonjour,
En fait quand on fait la multiplication d'un entier explicite par un entier explicite,
le compilateur évalue les chiffres explicites fournis.
255 est un entier, le résultat devrait être un entier, donc limité à 32768 .
En l’occurrence, l'évaluation peut être effectuée jusqu'à 255*128 , en fait toute multiplication d'un entier explicite par un autre qui ne produirait pas plus de 32768... 🤔

C'est bestial mais c'est comme ça .... 😡

Pour "contrer" ce processus, rajouter # à la fin d'un des chiffres pour indiquer au compilateur que c'est un chiffre "double" et donc que le résultat devra également être "double" 🥳
r = Int(100000 / (255# * 255))

Vous auriez pu également indiquer
r = Int(100000 / (255 ^ 2)) <-- ce n'est pas une multiplication
i=255: r = Int(100000 / (i * i)) <-- ce n'est pas explicite
i=255: r = Int(100000 / (255 * i)) <-- ce n'est pas explicite

Mais rassurez-vous, le piège surprend tout le monde, même les plus aguerris ... 😎
 
Bonjour à tous

C'est la même problématique qu'ici....avec explication.

@Phil69970
 
Bonjour à tous

C'est la même problématique qu'ici....avec explication.

@Phil69970
OK, merci.
 
- 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

Discussions similaires

Réponses
10
Affichages
797
Réponses
32
Affichages
975
Réponses
72
Affichages
1 K
Retour