Traitement d'un fichier Excel avec VB.NET

Signaler
Messages postés
4
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 octobre 2002
-
Messages postés
10
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
3 avril 2011
-
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

Messages postés
1133
Date d'inscription
mercredi 2 octobre 2002
Statut
Membre
Dernière intervention
24 juillet 2011
3
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
Messages postés
4
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 octobre 2002

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
Messages postés
2
Date d'inscription
vendredi 19 septembre 2003
Statut
Membre
Dernière intervention
2 mars 2004

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
Messages postés
2
Date d'inscription
vendredi 19 septembre 2003
Statut
Membre
Dernière intervention
2 mars 2004

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
Messages postés
2
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 novembre 2004

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
Messages postés
2
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
3 novembre 2004

Et la solution est:

Installer un MUI Pack pour Office 2003

Uth Sabbath
0
Messages postés
91
Date d'inscription
mercredi 27 février 2002
Statut
Membre
Dernière intervention
3 décembre 2011

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
Messages postés
10
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
3 avril 2011

c'est un forum
0