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 211
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 211
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
Rejoignez-nous