Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

overflow bien étrange...

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

S

solquagerius

Guest
Bonjour,

Je me casse la tête sur une ligne étrange...
Dans un module de classe j'écris tout bêtement dans une fonction :
a = 343 * 233
et sur cette ligne j'ai un overflow... a est déclarée en Long, j'ai aussi essayé en double, mais rien n'y fait.
Il plante dès que la multiplication dépasse 32 768, pourtant quand je met directement a = 40 000 par exemple, ca marche bien.

J'ai pas trouvé de post sur ce pb dans le forum, pourtant j'imagine que ce problème doit être connu.

Merci.
 
Re : overflow bien étrange...

Bonjour solquagerius, bonjour à toutes et à tous 🙂


Ton problème est un simple cas de type de données :

=> a est long et a=40000 est correct, mais quand tu écris a = 343 * 233, XL donne le type Integer à 343 et 233, il effectue la multiplication et BING ! Overflow !!! En fait, la conversion en type Long ne se fait qu'après la multiplication d'où l'erreur.

La seule solution est de forcer le type des contantes ainsi :

a = 343& * 233& , ainsi toutes tes données sont de type Long et la multiplication ne posera plus de pb.

En espérant avoir été clair 🙄

@+

EDIT : re mromain 🙂
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…