Vb 2005 express edition et Excel ou Works

kalimorpha Messages postés 2 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 13 novembre 2006 - 1 nov. 2006 à 02:50
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 1 nov. 2006 à 18:57
Bonjour,

vbasic2005 'express edition' peut-il me permettrede remplir un tableau genre ' dim Montableau(5000,20) As Sbyte ' avecle contenu des cellules d'une feuille Excel (5000 lig et 20 col qui ne contiennent que des entiers positifs < 100) qui se trouve sur mon disque C : MonExcel\Mafeuille.xls  ? Je suppose que cela doit etre tres simple  ? Cela pourrait-il ressembler a cela ? :

for i=1 to 5000
   for k=1 to 20
      Montableau(i,k) = C:MonExcel\Mafeuille.xls.cells(i,k)   '  je ne connais pas le code pour  
   next k                                                  ' acceder à Mafeuille.xls puis acceder à ses cellules
next i

remarque : je ne possede pas Excel mais seulement la feuille Mafeuille.xls. D'ailleurs, est-ce necessaire d'avoir Excel puisque je ne souhaite NI AFFICHER cette feuille à l'ecran NI MODIFIER ses cellules mais seulement remplir Montableau( ) avec le contenu de ses cellules

Milles mercis de la part d'un débutant.


 

1 réponse

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
1 nov. 2006 à 18:57
Salut,
Pour accèder à un fichier excel, c'est relativement simple : Tu ajoute la référence "Microsoft Excel x.x Object Library" à ton projet, ensuite tu utilise ce code :

Dim Ex as New Excel.Application
Ex.Workbooks.Open("C:\MonExcel\Mafeuille.xls")

Ensuite, tu pourrais faire comme tu le dis pour remplir ton tableau, en utilisant Ex.Cells(x, y), mais tu remarqueras que c'est très lent, va savoir pourquoi, mais les accès par Cells et Range sont excessivement lents, je ne sais pas pourquoi...

A la place, tu peux faire tout d'un coup grâce à ceci que j'ai découvert il y a peu :

Dim t as System.Array
t = Ex.Workbooks(1).Worksheet("TaWorksheet").Range("A1:W5000").Value

Et tu récupères toutes tes Value dans t

Par contre si je lis bien, tu n'as pas excel, et donc sans doute pas la référence citée ci-dessus, je pense que tu ne sauras pas lire une fichier xls sans elle, et je ne sais pas dans quelle mesure tu peux l'utiliser légalement sans avoir excel...

Julien.
0
Rejoignez-nous