Plus possible d'ouvrir ma feuille excel

Signaler
Messages postés
26
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
14 février 2008
-
Messages postés
22
Date d'inscription
vendredi 3 juillet 2009
Statut
Membre
Dernière intervention
3 mai 2010
-
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

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
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
Messages postés
22
Date d'inscription
vendredi 3 juillet 2009
Statut
Membre
Dernière intervention
3 mai 2010

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(....)