Erreur d'execution 6 dépassement capacité

houston87
Messages postés
26
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
28 septembre 2011
- 31 janv. 2010 à 19:28
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 31 janv. 2010 à 20:14
j'ai un petit problème j'ai récupéré les valeurs de poids fort et poids faible d'un fichier wave et j'essaie de trouver une valeur d'un point de mon échantillon en mettant le calcul de cette expression

Range("D" & [i]).Value = (pfort * 256) + pfaible

dans une colonne de mon excel afin de tracer la courbe d'un fichier wave en fonction du temps sauf que j'ai une erreur d'exécution 6 et ce que j'ai compris c'est que mon calcul dépasse la capacité de la cellule qui est un peu plus de 32000 et moi par exemple pour ma première valeur je trouve une valeur de 63743 qui est tout a fait supérieur

donc que dois je faire ?????

3 réponses

ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
31 janv. 2010 à 19:52
Bonjour,

Comment as-tu typé tes variables pfort et pfaible ?
C'est probablement là que réside ton problème ...


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
houston87
Messages postés
26
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
28 septembre 2011

31 janv. 2010 à 20:01
ben les deux variables sont typées
dim pfort as byte
dim pfaible as byte

parce que je pense pour obtenir les valeurs il est nécessaire de prendre octet par octet
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
31 janv. 2010 à 20:14
Oui ?
essaye et tu auras un dépassement de capacité, pardi :

Dim p As Byte
 p = 255
 MsgBox p * 256

et là, tu ne l'auras pas :
Dim p As Long
 p = 255
 MsgBox p * 256

et là non plus :
Dim p As Byte
 p = 255
 MsgBox p * 256#

en te rappelant que le suffixe # définit un long


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0