Erreur de type 5 : argument ou appel de procédure incorrect
Résolu
Prunett
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
Prunett Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Prunett Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Vba argument ou appel de procédure incorrect
- Type de ram - Guide
- Tableau de combinaison loto 5/90 - Forum Logiciels
- Erreur 0x80070643 - Accueil - Windows
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
2 réponses
Bonjour,
Je pense que ça vient de là:
(tab_vitesse_vent(i) - 0.05) ^ 0.62
Si (tab_vitesse_vent(i) - 0.05) est inférieur ou égal à 0, élever à la puissance ^0.62 est interdit.
Il faudrait mettre abs((tab_vitesse_vent(i) - 0.05)) ^ 0.62
A+
Je pense que ça vient de là:
(tab_vitesse_vent(i) - 0.05) ^ 0.62
Si (tab_vitesse_vent(i) - 0.05) est inférieur ou égal à 0, élever à la puissance ^0.62 est interdit.
Il faudrait mettre abs((tab_vitesse_vent(i) - 0.05)) ^ 0.62
A+
Bonjour,
C'est un problème purement mathématiques.
J'ai essayé ta macro avec des valeurs bidons, et ensuite, lors d'un plantage, refait le même calcul avec une calculatrice (celle de windows). En fait, les deux calculateurs (excel et la calculette windows) ne parviennent pas à calculer une puissance décimale d'un nombre négatif.
(tab_vitesse_vent(i) - 0.05) ^ 0.62 lorsque tab_vitesse_vent(i) < 0.05 retourne une erreur de type 5...
C'est un problème purement mathématiques.
J'ai essayé ta macro avec des valeurs bidons, et ensuite, lors d'un plantage, refait le même calcul avec une calculatrice (celle de windows). En fait, les deux calculateurs (excel et la calculette windows) ne parviennent pas à calculer une puissance décimale d'un nombre négatif.
(tab_vitesse_vent(i) - 0.05) ^ 0.62 lorsque tab_vitesse_vent(i) < 0.05 retourne une erreur de type 5...
Le fait de transformer le nombre négatif en "positif" via abs, va fausser le résultat.
La puissance nième d'un nombre négatif est un nombre négatif.
Par exemple, la racine carrée de -9 est -3.
Or, en prenant la valeur absolue, on obtiendrait 3.
Il doit donc, selon moi (et je ne suis pas mathématicien plus que cela), multiplier ce résultat par -1 lorsque tab_vitesse_vent(i) - 0.05 est inférieur strictement à 0.
Pour cela, prunett peut utiliser une petite fonction de calcul, comme ceci :
appel de la fonction dans la Sub Calcul_DR :
Code de la function :