ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 16 déc. 2015 à 14:48
Je ne peux me mettre physiquement à ton clavier et devant ton écran pour voir ce que tu as fait, ce que tu as coché, ce que tu as écrit ...
Bien que je devine (puisqu'il faut deviner) que ce que tu as coché n'est pas ce qu'il fallait cocher...
Discussion à lire (à tout hasard) :
http://vbcity.com/forums/t/165201.aspx
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 15:13
jai lu votre lien.effectivement moi je fais la chose suivnate:
project-->add references-->COM-->microsoft office object library.
le lien dit qu'il faille aller sur .net et prendre "ms office interop "
puis je savoir comment arriver a ".net"? car lorsque j'ouvre "add references " jai les choix suivants: assemblies;solutions;COM;browse
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 17 déc. 2015 à 12:10
bonjour,
probleme résolu.
Pour ceux que ça interesse,l'ouverture d'un fichier excel a partir de vb.net se fait de la façon suivante:
1. dans notre windowsform(jutilise visualstudio 2012),on va a project-->add referenes-->assemblies-->Microsoft.office.interop.excel
il faut choisir la version 14.0.0.0
2.dans notre windowsform(jutilise visualstudio 2012),on va a project-->add referenes-->COM
il faut cocher:
-microsft development environment 8.0
-microsoft visual basic for application Extensibi....
-microsoft visual studio.NEt project Model (7.1)
-microsoft visual studio.NEt VB and C project...
-OLE automation
3. On va ensuite dans le formulaire windows pour importer Microsoft.office.interop.excel comme ce qui suit:
Imports Excell = Microsoft.Office.Interop.Excel
4. on ecrit ces 3 lignes de codes:
Dim oExcel As New Excell.Application
oExcel.Workbooks.Open("D:/testons.xlsx")
oExcel.Visible = True
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 17 déc. 2015 à 12:11
il faut noter que jai excel 2010 d'ou lutilisation de la version 14.0.0.0
EDIT : discussion déplacée vers le sous-forum adéquat (VB.Net)
L'ouverture d'un classeur Excel et la création d'objets Excel (ces seules actions) depuis VB.Net est du VB.Net et non du VBA.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 09:22
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 15 déc. 2015 à 23:45
desolée ,
mais meme avec le code vb.net que jai ecrit ;cela ne fonctionne pas.
jai pourtant activé microsoft excel object library mais jai toujours la meme erreur. "impossible de creer le composant activeX"
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 15 déc. 2015 à 23:48
le code que jai mis dans mon premier message est effectivement du vb.net mais il ya lerreur dont j vous parle et q j n comprends pas.
pour ouvrir excel,on utilise "Excel.application". mais chez moi, je n'ai pas cette option qui s'affiche quand je code. je n'ai que excel.worksheet et excel.workbook.
je suppose donc qu'il ne reconnait pas excel.application et je ne comprends pas pourquoi
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 15 déc. 2015 à 23:58
C'est moi, qui commence à) ne pas te comprendre ...
1) Le code du snippet vers lequel je t'ai dirigé fonctionne.
2) il implique que tu aies respecté cela :
'Aller dans My Project- Références et ajouter dans COM:
'Microsoft Excel Object 12.0 Library
En cochant bien évidemment la référence à TA version de Excel (qui n'est pas forcément Microsoft Excel Object 12.0 Library
Bonne chance
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 00:07
desolée pour lembrouillamini de depart car j code sur plusieurs tableaux actuellement. je vais faire un copier coller de votre code,et je vous ferai savoir. merci
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 16 déc. 2015 à 00:13
J'ajoute ceci :
Je ne connais pas bien VB.Net, mais si tu veux faire une liaisonj tardive - du "late binding"- (ce que laisse supposer ton utilisation de la fonction CreateObject), ce serait selon moi t'éloigner de la philosophie même de VB.Net. Il est alors probable que, dans un tel cas, il te faudrait travailler hors "Option Strict On") car ce serait faire du VB6 dans VB.Net (peu orthodoxe et non conseillé) !
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 09:21
bonjour,
j'ai essayé votre code,cest comme hier soir. j'ai activé ms excel object library 14.0 car jutilise excel 2010.
mais au niveau de la creation "createobject(Excel.application)" ,j'ai toujours la même erreur qui dit: "impossible de creer le composant activeX"
En fait lorsque je tape "excel", je n'ai que 2 opportunités: excel.workbook ou excel.worsheet.
est ce que ma library peut etre incomplete?
Et tu comptes continuer longtemps, comme çà ???
1) Où as-tu vu, dans le snippet concerné, qu'était utilisée la fonction CreateObject ?
2) J'ai même pris la peine de t'en toucher un mot, non ? (mon message précédent)
C'est vraiment désolant et je suis vraiment désolé, mais il me parait téméraire de continuer avec toi dans de telles conditions ...
Tu avais TOUT ce qu'il te fallait dans le snippet, TOUT !
Je ne vais pas plus loin dans de telles conditions. Encore désolé.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 12:01
j'ai fait un copir coller de ton code,il ne marche pas.il ya plusieurs version douvertures dun fichier excel a partir de vb.net,et elles sont identiques quasiment.le but est de savoir ce que fait chaque ligne pour pouvoir les utiliser
"createobject" ouvre excel en tant qu'application.dans ton code,"excel.application" associé a "dim" crée une instance. donc le probleme ne se situe pas a ce niveau.cest comme je lai dit precedemment, c'est "Excel.application" qu'il ne reconnait pas.
Comment faire?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 16 déc. 2015 à 12:37
Montre donc le code que tu as exactement écrit (un copier coller de ton code, tel qu'écrit)
Le code du snippet montre comment créer une instance (un objet) Excel.
Une fois l'objet Excel créé, il te suffit de l'utiliser (cet objet) pour ouvrir le classeur que tu veux ! Et cela se fait en pilotant Excel/Vba (méthode Workbooks.Open de VBA appliquée à l'objet créé d'instance Excel)
Si tu ne "captes" toujours pas ces éléments de base, c'est que tu en es au stade de simples copiers/collers sans rien comprendre, ni même commencer à chercher à comprendre. Le développement, c'est tout, sauf cela. Et je suis (et serai toujours) horrifié que l'on "approche" ainsi (sans rien comprendre) le développement.
Bonne chance quand même.
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 14:10
pourtant cest pas bien difficile a comprendre ce que jecris. quand je parle de copier coller,je mattends a ce que vous compreniez en tant que programmeur ce que cela veut dire.
on vous parle de l'objet "application" qui n'est pas disponible dans le library.est ce si compliké a comprendre? bref;laissez tomber,je menoccupe
abessoloclaude
Messages postés40Date d'inscriptionlundi 14 décembre 2015StatutMembreDernière intervention11 janvier 2016 16 déc. 2015 à 14:13
excel a 4 objets et 2 d'entre eux sont absents:range et application. il nya que workbook et worksheet qui sont presents.
vous ne comprenez rien a rien ,jessaie pourtant detre claire
16 déc. 2015 à 15:13
project-->add references-->COM-->microsoft office object library.
le lien dit qu'il faille aller sur .net et prendre "ms office interop "
puis je savoir comment arriver a ".net"? car lorsque j'ouvre "add references " jai les choix suivants: assemblies;solutions;COM;browse
17 déc. 2015 à 12:10
probleme résolu.
Pour ceux que ça interesse,l'ouverture d'un fichier excel a partir de vb.net se fait de la façon suivante:
1. dans notre windowsform(jutilise visualstudio 2012),on va a project-->add referenes-->assemblies-->Microsoft.office.interop.excel
il faut choisir la version 14.0.0.0
2.dans notre windowsform(jutilise visualstudio 2012),on va a project-->add referenes-->COM
il faut cocher:
-microsft development environment 8.0
-microsoft visual basic for application Extensibi....
-microsoft visual studio.NEt project Model (7.1)
-microsoft visual studio.NEt VB and C project...
-OLE automation
3. On va ensuite dans le formulaire windows pour importer Microsoft.office.interop.excel comme ce qui suit:
Imports Excell = Microsoft.Office.Interop.Excel
4. on ecrit ces 3 lignes de codes:
Dim oExcel As New Excell.Application
oExcel.Workbooks.Open("D:/testons.xlsx")
oExcel.Visible = True
17 déc. 2015 à 12:11