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

Windows Forms Discussion :

Problème de syntaxe sur un TryCast


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut Problème de syntaxe sur un TryCast
    Bonjour tout le monde (c'est mon premier post )

    Depuis une semaine j'essaye tant bien que mal de réaliser un petit programme qui récupère des données de feuilles Excel (je débute tout juste en VB). Jusqu'à présent, avec l'excellent Tuto de M. Plasserre plus un peu l'aide de VS2005 et d'EXcel pour la partie VBA ça fonctionne lentement mais surement.

    Sauf que là je dois faire un test sur une valeur ... et là c'est le drame.

    En fait je récupère une valeur d'une cellule d'une feuille Excel que je stocke dans une variable (sinon en travaillant directement sur la valeur et si on fait un GetType on se retrouve avec un System._Object).
    En récupérant la valeur (sauf pour une date qui se balade dans ma feuille) je récupère un string même si la valeur n'est que numérique.

    Ma partie test consiste à vérifier si la valeur dans ma cellule est un vrai String, un faux String que je peux convertir en Integer ou si il y a Nothing.
    En fait je fais une boucle For (pour passer en revue les cellules d'une colonne) et je dois en sortir si je récupère un Integer négatif (ou Nothing).
    Je tombe sur le TryCast sur le tuto et je me dit "super c'est exactement ce qu'il me faut". Oui mais voilà : si je fais un Dim a As Integer = TryCast(valeurcellule, Integer) je me retrouve avec Integer souligné.
    L'erreur serait qu'Integer n'est pas une valeur de référence mais une valeur de type. Si je mets String à la place d'Integer, là ça passe .
    J'ai même fait un copier/coller à partir du tuto et je me retrouve avec la même erreur.
    Je suis pourtant sur VS2005 avec toutes les maj dispos.

    Si quelqu'un a une idée du comment du pourquoi je suis preneur ...

    Merci

    Edit:

    Hop voilà mon petit bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Not cellvalue = Nothing Then                 
                        Dim a As String = cellvalue 
                        celltype = TryCast(a, Integer)
     
                    End If
     
                    If cellvalue = Nothing Or (celltype = "System.Integer" And cellvalue <= 0) Then
    Je fais donc un test sur la valeur de la cellule, et si y a une valeur j'essaye de voir s'il est possible de la convertir en Integer. Je peux mettre Dim a As Object ça change pas grand chose.
    Mieux vaut un petit lien qu'un long discours.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut
    Bon finalement d'après MSDN c'est normal, on ne peut avoir que des valeurs de références dans un TryCast (ce qui est je pense dommage mais bon ...).

    Du coup je vais passer par le système de stocker ma chaine dans un Object et laisser gérer le typage par VS : soit je récup un string, soit un Int32 dans le cas d'un nombre différent de 0 ou un double pour 0.
    Mieux vaut un petit lien qu'un long discours.

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

Discussions similaires

  1. Problème de syntaxe sur mes fonctions
    Par kippix dans le forum Administration système
    Réponses: 2
    Dernier message: 06/04/2009, 20h15
  2. Réponses: 7
    Dernier message: 09/10/2008, 13h42
  3. Réponses: 7
    Dernier message: 24/06/2008, 16h31
  4. Problème de syntaxe sur UPDATE
    Par pgu64 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/04/2008, 19h26
  5. [MySQL] problème de syntaxe sur la récupération des données
    Par soshin dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 23/11/2006, 12h34

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