Teste la nature d'un nombre

panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006 - 23 mars 2006 à 16:46
nanougat Messages postés 40 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 26 octobre 2007 - 23 mars 2006 à 18:32
salut.
je cherche à tester si un nombre est divisible par 10.
la fonction MOD serait idéale sauf que apparemment elle n'est pas reconnue par excel 97.est-ce que je divague ou c'est bien une question de version d'excel?
merci

8 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 mars 2006 à 16:52
Ben il suffit de tester si ton nombre ce termine par un zéro, ou encore de diviser par 10 et tester si le nombre obtenu est toujours entier.

_

<spa></spa>
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
23 mars 2006 à 16:52
Bonjour

Eu tu as tester? si oui, pose ton code.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006
23 mars 2006 à 17:55
le probleme c'est comment tester que c'est un entier?
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
23 mars 2006 à 18:01
Un entier ne possède pas de séparateur (virgule ou point).



Mais la solution la plus simple reste la première de DARKSIDIOUS :





If Right$(Cstr(tonNombre),1) = "0" Then

MsgBox "Divisible par 10"

End If

Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
23 mars 2006 à 18:06
Mon code précédent ne fonctionnait pas correctement avec des nombres du style "123.560"



Petit correctif donc pour ne traiter que les nombres entiers :





Dim sTemp As String



sTemp = CStr(tonNombre)

If Instr(1,sTemp,".") > 0 Or Instr(1,sTemp,",") > 0 Then

MsgBox "Nombre décimal"

Else

If Right$(sTemp,1)="0" Then

MsgBox "Nombre divisible par 10"

Else

MsgBox "Nombre pas divisible par 10"

End If

End If






Manu
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
23 mars 2006 à 18:11
Allez, encore plus rapide !





Dim ll As Double



ll = 3250.15

If Int(ll / 10) = ll / 10 Then

MsgBox "Divisible par 10 "

Else

MsgBox "Pas divisible par 10"

End If


Manu
0
panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006
23 mars 2006 à 18:23
merci.
la derniere est nickel et astucieuse
0
nanougat Messages postés 40 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 26 octobre 2007
23 mars 2006 à 18:32
Bonsoir à tous



Je viens d'essayer sur 97 ça marche.



Que veux tu panorama exactement :



Dans la cellule : =MOD(F17;10)



ou en VBA tu as des exemples dans excel 97 en faisant F1 sur "mod" :

************

Cet exemple montre comment sélectionner un élément sur deux de la zone de liste 1 dans Feuil1.



Dim éléments() As Boolean

Set zoneListe = Worksheets("Feuil1").ListBoxes(1)

ReDim éléments(1 To zoneListe.ListCount)

For i = 1 To zoneListe.ListCount

If i Mod 2 = 1 Then

éléments(i) = True

Else

éléments(i) = False

End If

Next

zoneListe.MultiSelect = xlExtended

zoneListe.Selected = éléments

***************



Cordialement
0
Rejoignez-nous