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 :

cellule non assignée, variable NaN?


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut cellule non assignée, variable NaN?
    bonjour

    j'ai une base de données incomplète, des cellules sont parfois vides.
    jaffiche toute ma base de donnée dans une listview et une macro effectue des opérations entre les éléments de ma listview. (type variable Double)

    lorsque jeffectue une simple opération entre deux éléments de ma listview, et qu'un de ces éléments est vide, j'ai une erreur qui se produit.

    N'existe pas une variable NaN par exemple (cf matlab) en vba?
    Jessaie de meviter de tester le contenu de chaque élément avt deffectuer mes opérations, ca me semble inutile, je souhaiterai que le résultat d'une operation ac un element vide n'engendre pas un bug.

    je débute en vba, d'ou cette question élémentaire.

  2. #2
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    Salut, tu peux ajouter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Application.DisplayAlerts = False"
    pour ne pas avoir les messages d'erreur indesirable.


  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    Non !
    Pas d'accord du tout avec le "cache-crotte" proposé par Mimosa !
    Pas plus, d'ailleurs, que je ne serais d'accord avec un "On Error Resume Next" !
    On gère les cas systématiquement et on ne court aucun risque.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    bon, je ne veux pas non plus cacher les erreurs.

    Je veux juste exécuter mes opérations meme ac un élément vide.
    NaN + 3 = NaN
    NaN*10 = NaN ...

    une telle variable n'existe pas en vba ?!

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Attribue donc la valeur 0 à la cellule éventuellement vide.
    Valable pour tout, sauf, bien évidemment pour une division par zéro ====>>> infini !!!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    je ne pourrai pas différencier alors les résultats nuls venus de mes éléments vides, des autres éléments.

    0 c'est 0 nom d'une pipe!

    pas mieux?

    je veux pas de boucle if partout pour tester mes éléments...

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Mais quelle opération penses-tu pourvoir faire avec un élément vide ?

    Quand tu écris ceci :

    Je veux juste exécuter mes opérations meme ac un élément vide
    Moi, je lis ce que tu as écrit !

    Une opération est par ailleurs une opération !
    Si elle est une opération arithmétique ou mathématique, c'est une chose
    Si elle est une opération logique, c'en est une autre...
    Mais VB ne pourra te permettre d'avoir un pied sur un navire et l'autre sur un autre !... A moins de te lancer dans les Variant et la construction assurée d'une usine à gaz ...

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par gritchou Voir le message
    Jessaie de meviter de tester le contenu de chaque élément avt deffectuer mes opérations, ca me semble inutile...
    Bin non...tu vois bien que ce n'est pas inutile et en quoi cela poserait-il un problème de vérifier le contenu ? Je trouve au contraire que cela permet de déceler par exemple des erreurs d'encodage dans la base de données. Si on passe outre sans vérification, sans message de prévention, dans une base de données de 50000 lignes, bonne chance pour retrouver l'opération qui a foiré...!
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    je vais devoir donc tester mes éléments.
    'le nom d'une pipe' et son point dexclamation, n'était pas contre toi.
    je veux jouer sur tous les navires.

    merci quand mème de prendre le tps de me repondre.

    Je ne souhaitais pas vérifier le contenu de ma bdd... (je lai deja dis, je me fais vieux... ^^)

    une variable non assignée qui renverrait un élément non assigné quand il est utilisé dans une opération, je trouve ca plutot pratique. mais ca n'existe pas, alors le debutant, que je suis, va passer par des boucles if isempty() pour executer ces operations si ces opérandes ne sont pas vides.

    ca me couffle...

Discussions similaires

  1. [XL-2007] Somme de cellules non contigues variables
    Par guillaume37 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/10/2010, 11h08
  2. Réponses: 6
    Dernier message: 31/12/2008, 10h59
  3. [Design] Erreur variable non déclarée ou non assignée
    Par Arnard dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/12/2007, 17h53
  4. [VBA-E]selectionner la premiere cellule non vide d'une ligne
    Par muse47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2005, 08h11
  5. [JTable]cellules non rafraichies
    Par freudy dans le forum Composants
    Réponses: 3
    Dernier message: 02/07/2004, 16h03

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