Laodis
Messages postés25Date d'inscriptionmercredi 11 février 2009StatutMembreDernière intervention23 avril 2009
-
19 févr. 2009 à 11:11
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 2010
-
20 févr. 2009 à 15:01
Bonjour , voici mon problème.
Je développe une application en VB.net, dont le but est de traiter des données excel et les ranger dans une base access.
Je souhaite trouver une valeur contenue dans une variable 'mavar' déclarée en string, dans ma feuille excel :
Dim mavar As String = "toto"
If worksheet.Cells(i, j).Value <> Nothing And worksheet.Cells(i, j).Value = mavar Then
Le problème étant : J'ai déclaré mavar en string , mais lorsqu'elle passe sur une case contenant un double, une erreur se produit de type 'Impossible de convertir la cellule en string'.
Quand je mets un worksheet.Cells(i, j).Value .toString = mavar, ça me mets une erreur de type 'L'exception nullréférence n'as pas été gérée'
Quelqu'un aurait-il donc une solution pour parcourir et comparer la valeur contenue dans ma cellule avec ma variable, et ce quelqu'en soit le type ?
Laodis
Messages postés25Date d'inscriptionmercredi 11 février 2009StatutMembreDernière intervention23 avril 2009 19 févr. 2009 à 16:20
Edit : J'avais pour habitude de travailler en java, ou il existe une fonction instanceof() qui reconnait si une variable est d'un type souhaité, ce qui contournait le problème de concordance des types.
J'ai donc cherché en C# l'équivalent, et je l'ai traduit en VB.net , ce qui donne : If worksheet.Cells(i, j).value.[GetType]().IsAssignableFrom(mavar.[GetType]()
Cependant, la boucle ne marche toujours pas. Si quelqu'un a une meilleure méthode pour la concordance des types, merci d'avance.
Laodis
Messages postés25Date d'inscriptionmercredi 11 février 2009StatutMembreDernière intervention23 avril 2009 20 févr. 2009 à 11:23
bonjour,
Merci de ta suggestion , mais les mêmes erreurs se reproduisent.
C'est assez frustrant de ne pas pouvoir faire en VB ce que j'aurai fait en java.
Je vais continuer a chercher , merci quand même