Philidia
Messages postés3Date d'inscriptionmercredi 10 juin 2009StatutMembreDernière intervention14 juin 2010
-
14 juin 2010 à 16:10
nero06
Messages postés2Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention27 juillet 2010
-
27 juil. 2010 à 10:30
Bonjour,
actuellement je travaille sur un trombinoscope qui doit etre capable de récupérer des données classiques d'un fichier excel (nom, prénom, etc...) et les injecter dans une base mysql. un truc plutot classique donc.
cependant je rencontre un problème lors de l'importation du fichier excel dans le datagridview de mon application. Voici le code :
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.open("C:\test.xls")
'wsExcel correspond à la première feuille du fichier
wsExcel = wbExcel.Worksheets(1)
le problème semble venir de cette ligne :
'Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.open("C:\test.xls")
à ce moment la j'ai une exception qui s'affiche dans ma fenetre d'execution :
Une exception de première chance de type 'System.Runtime.InteropServices.COMException' s'est produite dans mscorlib.dll
et l'exception me renvoie "Membre introuvable. (Exception de HRESULT : 0x80020003 (DISP_E_MEMBERNOTFOUND))"
Après recherche sur le net, je n'ai pas trouvé grand chose. J'ai donc procédé à plusieurs vérifications. Au final, je ne comprends pas du tout, la librairie excel est bien dans les références, les déclarations se font sans problèmes, et en regardant des tutoriaux dont j'ai carrément recopié le code, je me retrouve avec la meme erreur.
J'utilise visual studio 2010 ultimate, et office 2007.
Si vous avez une solution, ou une proposition à me faire, je suis preneur, car je ne comprends pas du tout pourquoi Open n'existerait pas comme membre alors que la librairie est présente :x
Philidia
Messages postés3Date d'inscriptionmercredi 10 juin 2009StatutMembreDernière intervention14 juin 2010 14 juin 2010 à 16:29
Coucou et merci de ta réponse.
Le code que j'ai copié contenait effectivement des Set, mais visual studio les a enlevé automatiquement, et en consultant l'aide, j'ai pu constater que ces instructions d'assignation ne sont plus pris en charge.
Je suppose alors que visual studio l'inclut directement, mais si ce n'est pas le cas, alors je suis dans une sacrée impasse :x
Philidia
Messages postés3Date d'inscriptionmercredi 10 juin 2009StatutMembreDernière intervention14 juin 2010 14 juin 2010 à 16:38
Trouvé sur le site de microsoft :
Dans Visual Basic 2005, les propriétés par défaut ne sont pas prises en charge à moins d'accepter des arguments. En raison de cette modification syntaxique, les instructions Let et Set ne sont pas nécessaires pour spécifier ce qu'il faut assigner et elles ne sont pas employées dans les instructions d'assignation. La propriété Text remplace la propriété Caption du contrôle Label
Let est encore un mot réservé dans Visual Basic 2005, bien qu'il ne soit pas utilisé d'un point de vue syntaxique. Cela permet d'éviter la confusion avec ses significations précédentes. Visual Basic 2005 utilise l'instruction Set pour les procédures de propriété qui définissent la valeur d'une propriété.
Donc à priori il le fait bien tout seul, et d'après le tableau des modifications que j'ai pu trouver aussi sur le site de microsoft, ces instructions sont bel et bien devenues inutiles.
Je vais néanmoins essayer ta solution, on va bien voir :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 15 juin 2010 à 09:10
Bonjour,
Testé sous visual studio 2003:
Dim oXL As New Microsoft.Office.Interop.Excel.Application
Dim oBook As Microsoft.Office.Interop.Excel.Workbook
oXL.Workbooks.Open("tonclasseur.xls")
oXL.Visible = True
L'expérience, c'est une connerie par jour, mais jamais la même..
nero06
Messages postés2Date d'inscriptionjeudi 8 février 2007StatutMembreDernière intervention27 juillet 2010 27 juil. 2010 à 10:30
Bonjour,
Au début j'avais le même problème mais j'ai utilisé la dernière solution de lolokum et ça marche il suffit d'ajouter Microsoft Excel 12.0 Object Library dans Projet-->Ajouter une référence --> COM -->Microsoft Excel 12.0 Object Library.
Merci LOLOKUM.