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

VB.NET Discussion :

différencier une cellule vide d'une cellule nulle


Sujet :

VB.NET

  1. #1
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut différencier une cellule vide d'une cellule nulle
    Bonjour à tous,

    Je travaille sur une feuille Excel à partir de laquelle j'effectue un import de données, je veux stopper cet import lorsque ma cellule est vide.
    Pour cela j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    With excelapp.Worksheets(1)
         Id_curr = 17
         While Not finito
              Tabella.AddNew()
              Tabella.Fields(0).Value = .Range("A" & Id_curr)
              Tabella.Fields(1).Value = .Range("B" & Id_curr)
              Tabella.Fields(2).Value = .Range("C" & Id_curr)
              Tabella.Update()
              Id_curr = Id_curr + 1
              If .Range("C" & Id_curr).Value = Nothing Then finito = True
          End While
     End With
    Mais du coup mon import s'arrête aussi lorsque ma cellule est égale à 0!
    Ainsi lorsque ma cellule C21 contient 0,00, mon import s'arrête...
    L'un de vous saurait-il comment faire pour différencier 0 de null?
    merci d'avance
    Feel good, feel geek

  2. #2
    Membre régulier Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    hello schwarzy2, salut les autres gens!

    As tu essayé comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      If .Range("C" & Id_curr).Value = "" Then finito = True
    ?
    Si ma réponse est erronée, ignorez là, mais au moins j'aurais essayé
    Il n'y a pas de mauvaise question, si quelqu'un se la pose, ça ne doit pas être le seul

  3. #3
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Effectivement, bizarrement : .Range("C" & Id_curr).Value = Nothing est vrai lorsque la cellule contient 0 ! Va comprendre...

    Pour éviter ça, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .Range("C" & Id_curr).Value Is Nothing 
    ' OU
    .Range("C" & Id_curr).Text = Nothing

    EDIT : .Range("C" & Id_curr).Value = "" lève une exception si le contenu est numérique.

  4. #4
    Membre régulier Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par Skalp Voir le message
    EDIT : .Range("C" & Id_curr).Value = "" lève une exception si le contenu est numérique.
    exact, erreur de ma part, au temps pour moi mon capitaine
    Si ma réponse est erronée, ignorez là, mais au moins j'aurais essayé
    Il n'y a pas de mauvaise question, si quelqu'un se la pose, ça ne doit pas être le seul

  5. #5
    Membre actif Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Points : 288
    Points
    288
    Par défaut
    et bien merci pour vos réponses, en ce qui concerne mon problème, je l'ai résolu autrement: j'ai spécifié mon import autrement en spécifiant l'arrêt sur une date...l'arrêt sur une case vide ne me paraissait pas assez fiable.
    merci pour votre aide!
    Feel good, feel geek

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Masquer de la première cellule vide à la dernière cellule vide d'un tableau
    Par scrat49 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/06/2009, 11h52
  2. suppression cellule vide dans une plage ?
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/10/2007, 15h01
  3. Réponses: 7
    Dernier message: 11/09/2006, 11h33
  4. [VBA-E] cellules vide sur une ligne
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 12/06/2006, 21h20
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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