Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Vérifier si un chiffre est un entier


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Vérifier si un chiffre est un entier
    Bonjour, je cherche à vérifier si la valeur d'une cellule est un entier. C'est à dire sans virgule, sans point, sans lettres, etc...

    J'utilise la fonction IsNumeric() mais ça ne doit pas être celle-ci la bonne...

    Merci par avance pour vos retour!!

  2. #2
    Rédacteur

    Bonjour,
    Si c'est savoir si la variable est type comme Integer, tu peux utiliser la fonction TypeName ou VarType
    Exemple
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Dim c As Integer
    c = 15
    Debug.Print TypeName(c)

    ou
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Dim c As Integer
    c = 15
    Debug.Print VarType(c) = vbInteger


    Si maintenant, tu veux savoir si la valeur ne contient pas de décimale ?

    Exemple :
    Renvoie False si la valeur contient une décimale et True dans le cas contraire.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Dim c As Double
    c = 15.25
    Debug.Print c = Int(c)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  3. #3
    Membre émérite
    Bonjour Supernatural

    Peut-être comme ça :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
    Dim a As String
    a = IIf(CInt(Range("A1").Value) = Range("A1").Value, "Entier", "décimal")
    MsgBox a
    End Sub


    [Édition]
    Bonjour Monsieur TULLIEZ, toujours difficile de passer après un pro...
    À plus,

    Thauthème

    Je suis Charlie

  4. #4
    Membre régulier
    Je dois être imbécile... A chaque fois, je me retrouve confronté à ce problème de virgule...

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'choisir l'expression à tester
    Dim MonNombre As String
    MonNombre = "123,45"
     
    'procéder au test et indiquer des actions à effectuer
    If Not IsNumeric(MonNombre) = True Then
        MsgBox "Uniquement un entier!!!"
    ElseIf MonNombre <> CInt(MonNombre) Then
        MsgBox "Uniquement un entier!!!"
    Else
        MsgBox "Your code here"
    End If


    Merci par avance.

  5. #5
    Rédacteur

    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Quelques contributions : USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire - Géolocalisation d'une adresse avec Excel et Google sans VBA

  6. #6
    Membre régulier
    Oui désolé... J'ai corrigé tout cela et ça l'air de fonctionner!!

    Merci pour votre aide!!