VBA nombre entier

Résolu/Fermé
tut - 1 juil. 2010 à 14:33
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 16 janv. 2023 à 16:58
J'aimerai demander en VBA de vérifier que le valeur de la cellule 2,2 de la feuille "paramètres" est un nombre entier. Savez vous comment faire ?

7 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
1 juil. 2010 à 16:51
Bonjour tous,
Quel que soit la configuration de la variable, entier, single, double...etc.
Essais avec respectivement la variable A = 52.32 et A=52
Dim A
A = 52
    If A - Fix(A) = 0 Then
       'C'est un entier
    Else
        'C'est pas un entier
    End If

A+
5
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
1 juil. 2010 à 16:59
Eh ben voilà, c'est ce qu'il nous fallait.

A noter que ça marche aussi avec son inverse :
A = ThisWorkbook.Worksheets("paramètres").Range("B2")
If A - Int(A) = 0 Then
    'C'est un entier
Else
    'C'est pas un entier
End If
0
avec élégance en plus. Juste ce qu'il me fallait
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
24 mai 2013 à 19:11
Bonjour tous,
Puisque tu fais remonter ce fil..
1°) Int32, c'est pour du VB net, rien à voir avec VBA
2°) Avec Vartype ça te renvoi la "déclaration du nombre" mais pas sont contenu, exemple
Dim A as long
A = 5
A = 5.34
Les deux vont te renvoyer la même valeur.
A+
0