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.