Traitement d'un fichier Excel avec VB.NET

TitanK Messages postés 4 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 octobre 2002 - 21 oct. 2002 à 09:36
hamra007 Messages postés 10 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 3 avril 2011 - 5 déc. 2007 à 09:54
Bonjour à tous,

Je me suis mis au VB.NET et je dois avouer que j'ai pas mal de problèmes.

J'ai un programme VB.NET qui ouvre un Open File Dialog et qui n'affiche que les fichiers Excel. Sur ces fichiers, j'aimerais pouvoir lires les données et reprendre ses données dans un fichier texte après quelques calculs ( sommes, etc...).

J'arrive à ouvrir Excel et mes fichier XLS, malheureusement, je ne peux lire les données qu'ils contiennent. Par exemple si je tape la ligne suivante : ( import est de type Excel.range et chaine est de type string )

import = oXL.Cells(1, 1)
chaine = import

J'ai alors un message d'erreur ( Cast Range en String non permise ). J'ai déjà éssayer avec OXL.Range mais j'ai également une erreur ( Erreur de libraire ou mauvais type de prompt ). J'avoue ne pas comprendre et j'ai même réinstallé plusieurs fois de suite mon système mais visiblement c'est bien une erreur de code. J'utilise Visual Studio.NET avec un Office XP Pro. Est-ce que quelqu'un peux m'aider. Ce serrais vraiment sympa !

8 réponses

cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
21 oct. 2002 à 18:32
Ne devrais-tu pas écrire :
import = oXL.Cells(1, 1).text
afin de ne récupérer que le texte de la cellule et non sa valeur ???
0
TitanK Messages postés 4 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 octobre 2002
22 oct. 2002 à 08:36
J'y ai pensée mais alors j'ai le message suivant :

Une exception non gérée du type
'System.Runtime.InteropServices.COMException' s'est produite dans microsoft.visualbasic.dll

Informations supplémentaires : Ancien format ou bibliothèque de types non valide.

Et pourtant, mon système n'a absolument rien d'anormal. Cela fait déjà quatre fois que je réinstalle ce Pc de A à Z. Et à chaque fois j'ai ce genre de message.
0
Folken42 Messages postés 2 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 2 mars 2004
2 mars 2004 à 10:08
Salut, G à peu près le même type de problème ...

à ceci près :

ça marche chez moi (VB .NET 2003 et office 2003)
et C chez les autres qu'il y a cette erreur ...

svp, aidez nous !
0
Folken42 Messages postés 2 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 2 mars 2004
2 mars 2004 à 17:51
TitanK, tu vas être vraiment ravi ...

G trouvé en partie la cause du problème .
G essayé de compiler l'application successivement avec ces diffèrentes versions d'Office (donc réinstallation et désinstallation les unes après les autres) :

Office 2003
Office XP
Office 2000

Il semblerait que la librairie de Reference COM Excel de cette
dernière soit vraiment compatible.

en tout cas, la version que j'ai distribuée chez mes amis fonctionne et est vraiment exportable ...

vala vala ... ^_^

bon, faut avouer que le .NET, ce n'est pas vraiment LA solution :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uthsabbath Messages postés 2 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 novembre 2004
3 nov. 2004 à 11:42
J'ai aussi ce problème, il apparait qu'il est du chez moi aux régional settings (settings francais et office 2003 anglais)
Je ne sais pas vraiment comment le corriger mais en changeant les settings lors de l'utilsation d'excel l'erreur disparait.
Peut être est-ce une piste à suivre...

EXEMPLE:

Dim thisThread As System.Threading.Thread = _
System.Threading.Thread.CurrentThread
Dim originalCulture As System.Globalization.CultureInfo = _
thisThread.CurrentCulture
dim xl as new Excel.Application
dim wb as Excel.WorkBook

Try
thisThread.CurrentCulture = New System.Globalization.CultureInfo( _
"en-US")
'Ajouter ici les comandes Excel
'par exemple:
wb=xl.WorkBooks.Add

Finally
thisThread.CurrentCulture = originalCulture
End Try

Cela fonctionne pour moi.

Par contre si quelqu'un à une solution pour eviter cette erreur de façon générale je suis intéressé!

Uth Sabbath
0
uthsabbath Messages postés 2 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 novembre 2004
3 nov. 2004 à 12:28
Et la solution est:

Installer un MUI Pack pour Office 2003

Uth Sabbath
0
COlive Messages postés 91 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 3 décembre 2011
29 juin 2005 à 08:30
Ce que moi je trouve pas marrant c'est qu'un code qui tourne avec VB Net 2003 et Excel 2003 ne tourne plus avec VB Net 2005 beta 2 express et Excel 2003.

Détails :
VB 2003 Net Fr + Excel 2003 Fr : pas de problème pour travailler avec les cellules Excel

VB 2005 Net En + Excel 2003 Fr : pas possible de travailler avec les cellules Excel.

Et chez Microsoft, ils ont pas de sujet là dessus.

Donc si quelqu'un à une info...(le MUI Pack ne corrige pas le problème, il le contourneet ce n'est pas stable)

COlive.
Deux intellectuels assis iront moins loin qu'un con qui marche. Pensez-y !

Pensez à cliquer sur réponse acceptées quand votre problème est solutionné.
0
hamra007 Messages postés 10 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 3 avril 2011
5 déc. 2007 à 09:54
c'est un forum
0
Rejoignez-nous