[VBA] Message "dépassement de capacité"

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

K

keno

Guest
Bonjour,

Voici un petit code donnant une erreur 'dépassement de capacité'.

Le résultat du calcul fait 33143, ce qui rentre normalement dans les capacités d'un double.

En décomposant le calcul, cela fonctionne, mais pas en un seul bloc.

Quelqu'un aurait une idée ?

D'avance, merci.

Code:
Sub test()
    Dim azerty As Double

    azerty = 23
    azerty = 12 * 60 + azerty
    azerty = 3600 * 9 + azerty
    MsgBox 'ok'    'Jusqu'ici, tout va bien

    azerty = (3600 * 9) + (12 * 60) + 23 'Et là, ça plante...

End Sub
 
bonsoir Keno,
en fait dans la première partie de ton code lorsque tu fais tes différents calculs, tu ajoute une donnée 'integer' à une donnée 'double' (azety). Excel fait alors une conversion dans le format le plus étendu (double).
Dans ta dernière ligne , chaque donnée (3600*9; 12*60; 23) est une donnée inférieure à 32767 et est donc considéré comme de type integer - Excel calcule donc sous ce format là avant de faire la conversion vers la donnée azerty et se heurte à un dépassement de capacité puisque le résultat est supérieur à 32767.
pour éviter cela, tu peux faire ainsi :
azerty = 0
azerty = azerty + (3600*9)+(12*60)+23
ou encore
azerty=0#+(3600*9)+(12*60)+23

le '#' indique à excel qu'il s'agit d'une donnée au format double.

J'espère avoir été assez clair

bonne soirée
 
- 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.

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
11
Affichages
2 K
Réponses
1
Affichages
2 K
Retour