IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Tester un entier vide (isEmpty, isNull)?


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Par défaut Tester un entier vide (isEmpty, isNull)?
    Salutatous,

    Je bug sur un truc qui me parait pourtant pas bien compliqué: Tester si une cellule est vide sachant que ma variable est un entier!

    Exemple:
    Je récupère dans une variable, les notes contenues dans A2:A11, si la cellule est vide, j'affiche une msgbox, mais aucun de mes tests ne fonctionnent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub macro1()
     
    Dim note As Integer
     
    For i = 1 To 10
     
    note = Range("A1").Offset(i).Value
     
    If note = "" Then MsgBox ("cellule vide")
     
    If IsEmpty(note) Then MsgBox ("cellule vide")
     
    If IsNull(note) Then MsgBox ("cellule vide")
     
    next i
    End Sub
    Si vous avez un indice, merci d'avance!

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Puisque tu lis la valeur dans la variable 'note' qui est de type entier, si la cellule est vide, tu as 0 dans 'note'. Ce qui ne te permet pas de savoir si la cellule est vide, puisque la valeur 0 donnera le même résultat.

    Pour tester si la cellule est vide, tu peux tester directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Isempty(Range("A1").Offset(i))
    ou lire la cellule dans une variable de type variant.

    Cordialement,

    PGZ

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Par défaut
    Merci, effectivement c'était le problème, je pensais qu'un entier non définit avait une valeure de type Null ou Empty, mais en fait il vaut 0.

    Je comprend maintenant pourquoi mon IF match si la valeur = 0.

    ça va fait plus brouillon dans mon code, mais ça marche!

    Encore merci

Discussions similaires

  1. [Upload] Tester des variables vides
    Par pjipe dans le forum Langage
    Réponses: 19
    Dernier message: 24/07/2007, 10h02
  2. tester un champ vide avec changement de couleur
    Par lolothom dans le forum IHM
    Réponses: 4
    Dernier message: 13/05/2007, 21h08
  3. [debutant]comment tester un JTextField vide?
    Par gillou13 dans le forum Langage
    Réponses: 8
    Dernier message: 02/06/2006, 06h55
  4. Tester une chaine vide !!! :s
    Par hysteresis dans le forum ASP
    Réponses: 3
    Dernier message: 05/11/2005, 22h25
  5. tester si champ vide
    Par trialrofr dans le forum ASP
    Réponses: 2
    Dernier message: 07/03/2005, 19h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo