Autres Valeurs avec + ou - un écart avec la fonction MOD en VBA

Nain porte quoi

XLDnaute Junior
Bonjour,

je cherche comment simplifier un test d'une valeur qui doit être (par exemple) 10 avec +1 ou -1 (ou autre mais toujours égaux) de différence en évitant de répéter le test comme ci dessous
If machinchosetrucbidulevachementlonetpasfacilealire >= 9 Or machinchosetrucbidulevachementlonetpasfacilealire <= 11 Then

Y'a longtemps j'avais trouvé sur un forum la fonction qui permettait de faire ça avec MOD, mais je ne retrouve plus et je suis certain que le forum saura me rappeler cet oubli malheureux

Merci
 
Solution
Bonjour
Je ne vois pas trop à quoi pourrait ici servir l'utilisation du modulo, dès lors que deux nombres distincts peuvent retourner un même modulo. Ex : 21 mod 10 et 11 mod 10 ont la même valeur (1) alors que seul 11 présente un écart maximum de 1 par rapport à 10 ...

Je te suggère de rester simple avec, une fonction de ce genre :
VB:
Private Function dans_limite(nb As Double, proche_de As Double, delta As Integer) As Boolean
  If Abs(nb - proche_de) <= delta Then dans_limite = True
End Function
appelable par exemple ainsi :
Code:
 MsgBox dans_limite(Range("A1").Value, 10, 1)

EDIT : Un salut à PierreJean (croisés) dont la solution est de même nature que la mienne.

jmfmarques

XLDnaute Accro
Bonjour
Je ne vois pas trop à quoi pourrait ici servir l'utilisation du modulo, dès lors que deux nombres distincts peuvent retourner un même modulo. Ex : 21 mod 10 et 11 mod 10 ont la même valeur (1) alors que seul 11 présente un écart maximum de 1 par rapport à 10 ...

Je te suggère de rester simple avec, une fonction de ce genre :
VB:
Private Function dans_limite(nb As Double, proche_de As Double, delta As Integer) As Boolean
  If Abs(nb - proche_de) <= delta Then dans_limite = True
End Function
appelable par exemple ainsi :
Code:
 MsgBox dans_limite(Range("A1").Value, 10, 1)

EDIT : Un salut à PierreJean (croisés) dont la solution est de même nature que la mienne.
 

Discussions similaires

Statistiques des forums

Discussions
312 594
Messages
2 090 080
Membres
104 369
dernier inscrit
bolthorn