Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

une question simple tres bete... pour moi

5 réponses
Avatar
gean
Pourquoi ce programme sort en erreur (6) = dépassement de capacité sur
l'opération * ?

Private Sub Command1_Click()
Dim dre As Long
dre = 60 * 1000
MsgBox "> Duree " + Str$(dre)
End Sub

Merci

5 réponses

Avatar
François Picalausa
gean a écrit :
Pourquoi ce programme sort en erreur (6) = dépassement de capacité sur
l'opération * ?
dre = 60 * 1000



Hello,

Il s'agit là d'une erreur classique:
60 est un Integer (puisqu'inférieur à 32767)
1000 est un Integer (idem)
Donc VB (en toute logique) tente de stoquer le résulat (60000) sur un
integer et te retourne un dépassement de capacité.
Il est alors conseillé d'utiliser les suffixes de type pour indiquer
précisément ce que tu souhaites:
dre = 60& * 1000&

François Picalausa
Avatar
Dominique
Parce que 60 et 100 sont considérés comme des integer (et pas des long)
(ne peux dépasser 32767)


met un & derriere ces chiffres (cela force le compilateur à les considérer
comme des Long)
dre = 60& * 1000&



"gean" a écrit dans le message de news:
452e5bbd$0$27385$
Pourquoi ce programme sort en erreur (6) = dépassement de capacité sur
l'opération * ?

Private Sub Command1_Click()
Dim dre As Long
dre = 60 * 1000
MsgBox "> Duree " + Str$(dre)
End Sub

Merci



Avatar
gean
OK, ça marche,

Merci beaucoup,


"François Picalausa" a écrit dans le message de news:

gean a écrit :
Pourquoi ce programme sort en erreur (6) = dépassement de capacité sur
l'opération * ?
dre = 60 * 1000



Hello,

Il s'agit là d'une erreur classique:
60 est un Integer (puisqu'inférieur à 32767)
1000 est un Integer (idem)
Donc VB (en toute logique) tente de stoquer le résulat (60000) sur un
integer et te retourne un dépassement de capacité.
Il est alors conseillé d'utiliser les suffixes de type pour indiquer
précisément ce que tu souhaites:
dre = 60& * 1000&

François Picalausa
Avatar
HD
Intéressant tout ça...

Et à quoi correspond les variables de type String qui ont également un signe
& à leur suite ?

--
@+
HD
Avatar
Vincent Guichard
HD a écrit :
Intéressant tout ça...

Et à quoi correspond les variables de type String qui ont également un signe
& à leur suite ?




Ce n'est pas possible. Tu ne peux pas définir une variable String dont
le nom se termine par & (cela entraîne une erreur de compilation).
Par contre, l'opérateur & est l'opérateur de concaténation pour les
chaînes, mais il faut un espace entre le nom de la variable et le '&',
et une seconde variable derrière.

Dim Chaine1& as string ' Impossible, erreur
Dim Chaine2 as string
Chaine2 = "Début"
Chaine2 = Chaine2 & "Fin" 'Chaine2 contient maintenant "DébutFin"

Vincent Guichard