Plus possible d'ouvrir ma feuille excel

lhonolulu Messages postés 26 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 14 février 2008 - 18 mars 2004 à 17:07
fngoagouni Messages postés 22 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 3 mai 2010 - 22 avril 2010 à 16:46
bonjour,
Je travaillais via Excel et maintenant je travaille via vb6.
Avant pour faire une sélection sur une feuille excel je faisais :
For i = 2 To Ligne
        If Sheets("mois").Cells(i, j + 1) = "M" Then
            cel = Cells(i, 1)
            'recopie dans la listbox le contenu de la cellule (i,j)
            lb_Liste_Client.AddItem cel
        End If
Next i


Mais maintenant ca ne marche plus...snif !
Comment dire à vb6 d'aller voir dans le fichier ou je vais réaliser une sélection. (Il faut utiliser file system object me semble-t- il mais je n'arrive pas à faire marcher ca) Ensuite je suppose qu'il suffise que je remette mon ancien code pour continuer mon prog. Et ensuite de refermer le fichier.
Merci de votre aide.

2 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
19 mars 2004 à 09:00
Il faut ajouter la référence Microsoft Excel X.y à ton projet.

Dim objExcel As Excel.Application

Set objExcel = CreateObject("Excel.Application")

objExcel.Workbooks.Open "toto.xls"

'ton code ici

objExcel.Workbooks.Close
objExcel.Quit
Set objExcel = Nothing


Quant tu travaillais sous Excel, le document était déjà chargé, donc pas besoin de l'ouvrir. La méthode Sheets("Mois") faisait forcément référence à la feuille "Mois" de ton classeur.
Sous VB6, tu dois d'abord dire à quel fichier Excel tu fais référence en l'ouvrant. La suite, c'est tout pareil !

Manu
0
fngoagouni Messages postés 22 Date d'inscription vendredi 3 juillet 2009 Statut Membre Dernière intervention 3 mai 2010
22 avril 2010 à 16:46
econs
Il ne manquerait pas de dire qu'il faut aussi tout référencer par rapport à "objExcel" aussi.

S'il copie son bout de code tel quel je doute que çà fonctionne. Ou je me trompe ?

il manquerait même peut être de déclarer un objet de type Workbook et de faire un
set wkb=objExcel.Workbooks.Open("toto.xls")

ou quelque chose comme çà non ?

et ensuite utiliser
wkb.Worksheet(1).Cells(....)
0
Rejoignez-nous