Dépassement de capacité

Bonjour à tous,

Sur mon code VBA j'essaie d'effectuer une division mais j'ai un problème de variables d'où le msg : "dépassement de capacité"

dim n As integer
Dim tps As integer
tps = (h * 60 * 60) + (min * 60) + s

Dim tpsh, tpsfin As double

tpsh = tps / (24 * 60 * 60)
tpsfin = tpsh / n

A savoir que "n" est renseigné en début de programme par l'utilisateur et est forcément un nombre entier.

Comme le résultat de tpsh et tpsfin est un floatant, je pensais qu'utiliser un Double était nécessaire..

Pourriez-vous me venir en aide ?

Merci d'avance

Bonjour,

integer ne va que jusqu'à 32000, déclare As Long.

Et dans Dim tpsh, tpsfin As double seul tpsfin est Double, tpsh est Variant. Il faut toutes les typer :

Dim tpsh  As double, tpsfin As double

eric

PS : précise toujours la ligne en erreur. Là on s'en doute mais ce n'est pas toujours le cas.

je vous remercie de votre réponse mais malheureusement j'ai essayé et ça ne fonctionne toujours pas,

j'ai toujours le même problème : "dépassement de capacité"

avec tps : long

tpsh : variant

tpsfin : double

Et j'ai oublié de le préciser mais h, min et s sont des variables définies par l'utilisateur en début de programme et sont des integer

dépose ton fichier et les manip pour provoquer l'erreur

Mon fichier est un peu trop gros pour le déposer ici..

Mais le code ne marche plus à partir de:

 tpsh = tps / (24 * 60 * 60)

Je ne peux rien de plus pour toi, désolé.

eric

Bonjour,

Un essai :

Option Explicit

' Valeurs (exemples)

Const h% = 5
Const min% = 20
Const s% = 10

Const n% = 2

Sub Essai()
  Dim tps#, tpsh#, tpsfin#
  tps = h * 3600 + min * 60 + s
  tpsh = tps / 86400 ' 24 * 60 * 60
  If n <> 0 Then tpsfin = tpsh / n: MsgBox tpsfin
End Sub

dhany

Bonjour dhany

Un énorme merci, ton code marche super bien dans mon programme !

Et merci également eriic pour ton aide !

@BabouchkA31

Merci beaucoup pour ton énorme merci ! et bonne continuation pour la suite.

dhany

Rechercher des sujets similaires à "depassement capacite"