elkasmi_ahmed
Messages postés5Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention13 septembre 2006
-
13 sept. 2006 à 11:17
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutModérateurDernière intervention23 décembre 2008
-
13 sept. 2006 à 11:27
Bonjour tout le monde.
j veux calculer R1= t1 Mod 97 avec t1=2558100035900 ( le type de t1 est double)
mais un msg d'erreur s'affiche : dépassement de capacité.
R1 soit de type long ou double mais toujours le même problème.
Cordialement.
Ahmed.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutModérateurDernière intervention23 décembre 200823 13 sept. 2006 à 11:27
Salut,
Le problème a déjà été rencontré sur VBFRance. Voici la réponse qui a été apportée ce jour-là par us_30 :
L'utilisation de la fonction MOD ne fonctionne que dans la plage des
nombres en LONG. C'est à dire que tu peux l'utiliser avec des DOUBLE à
la condition de ne pas dépasser la limite 2147483647 (limite du type
LONG) alors que le type DOUBLE va au-delà.
Par conséquent, il
faut réécrire la fonction MOD, avec des instructions compatibles avec
le type DOUBLE, pour toute sa plage. Cette fonction peut être
programmée comme suit :
=
Function MOD2(ByVal D As Double, ByVal N As Double) As Double
'Renvoi le modulo de D et N pour des nombres jusqu'à Double
'contrairement à MOD d'Excel ou de VBA
'Converti en entierD Int(D): N Int(N)
'Calcul du reste
MOD2 = D - N * Int(D / N)
End Function
=
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.