Tester si un nombre est entier ?

Résolu
typhoon_74
Messages postés
66
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
11 février 2007
- 21 janv. 2006 à 09:37
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 12 févr. 2015 à 11:18
Bonjour ,

J'ai essayé ce code dans mon programme pour tester si mon nombre était entier mais cela ne marche pas ... Le voici :

If A <> Int(A) then
Msgbox ("Veuillez entrer un nombre entier")
Exit sub
End If

Pouvez vous m'aider ?

2 réponses

cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
21 janv. 2006 à 09:43
Essaye ceci :



If Not IsNumeric(A) Then



MsgBox ("Veuillez entrer un nombre entier")

Exit Sub



End If



If A <> CInt(A) Then



MsgBox ("Veuillez entrer un nombre entier")

Exit Sub



End If

_____________________________________________________________________
2
Encore mieux :)

If A <> CInt(A) Then
A = Int(A)
End If

ce qui convertit directement le nombre en entier à la saisie :)
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié par ucfoutu le 12/02/2015 à 11:25
Bonjour,
un numérique toto est entier si Fix(toto) = toto

Il y a une différence importante entre Int et Fix

Preuve du piège à éviter :
 toto = -23.12
MsgBox Fix(toto) & vbCrLf & Int(toto)
0
typhoon_74
Messages postés
66
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
11 février 2007

21 janv. 2006 à 09:53
Merci beaucoup le premier marche très bien ;)
0