VBA Excel, plage trop grande pour calculer ?
Fermé
dr_doak
Messages postés
3
Date d'inscription
dimanche 29 juin 2008
Statut
Membre
Dernière intervention
25 septembre 2008
-
25 sept. 2008 à 19:48
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 15 oct. 2008 à 23:28
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 15 oct. 2008 à 23:28
A voir également:
- VBA Excel, plage trop grande pour calculer ?
- Calculer une moyenne sur excel - Guide
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
1 réponse
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
15 oct. 2008 à 23:28
15 oct. 2008 à 23:28
Bonjour,
Pour quelle ne reste pas sans réponse, je réponds à cette question bien qu'elle soit ancienne.
Mais pour info, c'est le calcul de la variable B qui provoque une erreur
En effet, au cours du calcul le dénominateur ((n - 2) * (n + 5) * (n + 7) * (n + 9)) dépasse la capacité des entiers long (2 147 483 647) dés que n>210 . Bien que B soit déclaré en Double, comme n est déclaré en long, VBA fait une erreur.
Pour résoudre le Problème, il suffit de passer n en Double également. C'est un peu ésotérique mais c'est du à la méthode de résolution des expressions arithmétiques par VBA comme il n'y a que n dans le calcul, c'est lui qui donne la limite.
Cordialement,
Pour quelle ne reste pas sans réponse, je réponds à cette question bien qu'elle soit ancienne.
Mais pour info, c'est le calcul de la variable B qui provoque une erreur
En effet, au cours du calcul le dénominateur ((n - 2) * (n + 5) * (n + 7) * (n + 9)) dépasse la capacité des entiers long (2 147 483 647) dés que n>210 . Bien que B soit déclaré en Double, comme n est déclaré en long, VBA fait une erreur.
Pour résoudre le Problème, il suffit de passer n en Double également. C'est un peu ésotérique mais c'est du à la méthode de résolution des expressions arithmétiques par VBA comme il n'y a que n dans le calcul, c'est lui qui donne la limite.
Cordialement,