Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1324 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  dépassement de capacité

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

dépassement de capacité

n°1378300
elgobi
Posté le 31-05-2006 à 17:32:00  profilanswer
 

Bonjour,
J'ai une macro qui plante et le message d'erreur est "dépassement de capacité" pour la ligne:

Code :
  1. P_1m = A * Puinf * Application.Tanh(K * Profm * Y_1m / (A * Puinf))


(ça ne plante que pour certaines valeurs de Profm)
Je ne comprends pas trop ce que ça signifie alors si quelqu'un pouvait m'éclairer...
Merci d'avance

mood
Publicité
Posté le 31-05-2006 à 17:32:00  profilanswer
 

n°1378399
galopin01
Posté le 31-05-2006 à 20:16:42  profilanswer
 

Dépassement de capacité c'est quand une variable est dimensionné trop petite par rapport aux valeurs potentielles. Ex :

Code :
  1. Sub test()
  2. Dim i As Integer
  3. i = 40000 'dépassement de capacité car integer ne peut excéder 32 767
  4. End Sub


A+


---------------
roger
n°1378578
tegu
Posté le 01-06-2006 à 09:32:45  profilanswer
 

Ton message a le même titre qu'un autre.
Une recherche t'aurait permis de le trouver et d'avoir ainsi une bonne idée de comment résoudre ton problème.
cf. http://forum.hardware.fr/hardwaref [...] m#t1317612

n°1378612
elgobi
Posté le 01-06-2006 à 10:14:42  profilanswer
 

merci et désolée de pas avoir fait la recherche avant d'habitude je le fais mais ça ne donne jamais rien...

n°1378619
elgobi
Posté le 01-06-2006 à 10:32:17  profilanswer
 

euh en fait je suis allée voir l'autre  sujet mais ça m'aide pas trop: toutes mes variables sont déclarées en Variant car ça peut être autre chose que des nombres , j'ai essayé de mettre de # mais ça marche pas je dois pas avoir compris, je suis vraiment désolée mais tout ce que concerne les types de variable me dépasse complètement si quelqu'un pouvait m'expliquer comment je dois réécrir l'opération qui me^pose pb (cf 1er message) ça m'aiderait vraiment..
Merci

n°1378686
tegu
Posté le 01-06-2006 à 11:41:36  profilanswer
 

Tes variables servent dans une formule mathématique de calcul : elles doivent être déclarées de type numérique ou tu dois utiliser des fonctions de conversion (CLng(), CDbl(), CSng(), ...) dans ta formule.


Message édité par tegu le 01-06-2006 à 11:41:52
n°1378716
elgobi
Posté le 01-06-2006 à 12:06:57  profilanswer
 

j'ai essayé ça:
P_1m = CLng(A) * CLng(Puinf) * Application.Tanh(CLng(K) * CLng(Profm) * CLng(Y_1m) / (CLng(A) * CLng(Puinf)))
mais ça marche toujours pas ...j'ai toujours un dépassement de capacité

n°1378804
tegu
Posté le 01-06-2006 à 13:34:24  profilanswer
 

Comme galopin01 te l'a fait remarqué, tu as une variable mal typée (trop petite).
Puisque les conversions sont faites, il s'agit sûrement de P_1m.  
Tu dois la typer de telle sorte que le résultat du calcul puisse y être stocké. En gros si le résultat est un entier, tu as le choix entre Integer et Long, s'il s'agit de nombres décimaux tu choisis entre Single et Double.
Dans chaque cas le second choix permet de stocker des nombres plus gros.

n°1378850
elgobi
Posté le 01-06-2006 à 14:04:58  profilanswer
 

j'ai déclaré P_1m en double et j'ai mis CDbl() pour tous les termes et ça me met toujours dépassement de capacité ppour P_1m...ça doit venir d'autre chose merci quand même

n°1378858
tegu
Posté le 01-06-2006 à 14:12:18  profilanswer
 

J'espère quand même que tu vérifies les valeurs de tes variables lors de l'erreur. Parceque je ne sais pas si la fonction Tanh de l'expression « Application.Tanh(CLng(K) * CLng(Profm) » accepte les valeurs trop grandes.

mood
Publicité
Posté le 01-06-2006 à 14:12:18  profilanswer
 

n°1378878
elgobi
Posté le 01-06-2006 à 14:20:54  profilanswer
 

je pense en effet que c'est la fonction tanh qui pose pb ...La valeur de Puinf est très petite je dois être juste à la limite du domaine de tanh car Puinf est toujours très faible et ça plante pas pour tous les cas
Merci...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  dépassement de capacité

 

Sujets relatifs
depassement capacité[VBA] Capacité à manipuler des String ?
Réalisation un algoritheme pour capacitéDepassement Quota, activer les Logs Apache
delphi : augmenter la capacité du compilateurComment detecter un depassement de capacite dans une addition
[résolu] dépassement de capacitéDépassement de capacité incomprehenssible :/
[ACCESS] prob de requète --> dépassement de capacité ?!?!?[VBScript] Problème de dépassement de capacité
Plus de sujets relatifs à : dépassement de capacité


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR