Rechercher : dans
Par :

Lire un fichier excel sous vb

Dernière réponse le 5 jun 2009 à 09:58:46 pikatchou, le 13 nov 2003 à 16:26:59 
 Signaler ce message aux modérateurs

Bonjour les gens

je voudrais savoir qu'elle est la ligne de commande pour lire des lignes spécifiques d'un fichier excel sous vb

merci!!!

1

mirza, le 13 nov 2003 à 18:13:08

Hello


2 solutions (je les connais mal ..)

-soit utiliser de RecordSet et un appel à ODBC
-soit utiliser un objetc Excel et Sheet

Répondre à mirza

2

Dimandja, le 13 nov 2003 à 20:09:56
  • +1

Un objet Excel et Sheet:

Dim oXL As Excel.Application
Dim oBook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim numFields As Integer
Dim numRows As Integer
Dim curField As Integer
Dim curRow As Integer

oXL = New Excel.Application
oBook = oXL.Workbooks.Open(c:\fichier.xls)
oXL.Visible = False

' compte les champs
While Not (oBook.ActiveSheet.Cells(1, numFields + 1).value Is MyNull)
numFields = numFields + 1
End While

' compte les lignes
While Not (oBook.ActiveSheet.Cells(numRows + 1, 1).value Is MyNull)
numRows = numRows + 1
End While

' lecture
For curRow = 1 To numRows
For curField = 1 To numFields
LineIn = LineIn & oBook.ActiveSheet.Cells(curRow, curField).Value
Next curField
LineIn = “”
Next curRow

oBook.Close()
oXL = Nothing

Répondre à Dimandja

3

pikatchou, le 14 nov 2003 à 09:30:33

Merci de votre aide
bonne journée!!

Répondre à pikatchou

4

ZobyOne, le 15 jan 2004 à 14:40:54

Moi aussi je cherche a lire des infos dans un fichier Excel,
mais je debute en VB
Quelqu'un pourrait-il m'expliquer un peu mieux?

merci d'avance

Répondre à ZobyOne

5

WhiteFang, le 15 jan 2004 à 14:56:25

;-)

Pour cela, il te faut déjà bien connaître Excel, et surtout, ses objets, et aussi avoir de bonnes connaisssances en anglais...

Ensuite, il te suffit de traduire de que tu fais sous Excel en Anglais.... Un classeur, c'est l'objet Workbooks, une feuille, Sheets, une cellule, Cells.... Etc...

De là, utilise la logique...

Utiliser une autre appli ? Faut créer une session, pour pouvoir utiliser ses objets... Dim AppliExcel As New Excel.Application... Là, une nouvelle session Excel est crée (pour ne pas utiliser une éventuelle session existante... Ce qui mettrais le dawa...)

Ensuite, tout s'enchaine : AppliExcel.Workbooks.Open...

Et l'idéal, est d'utiliser des varaibles objets, style :

AppliExcel.Workbooks.Open(xxx)
Set MonExcel=AppliExcel.ActiveWorkbook.sheets(1)

Il ne te reste qu'a faire tes boucles et autres traitements !!

MonExcel.Cells(L,C)......

N'oublie pas,en fin :

AppliExcel.ActiveWorkbook.Close (true ou false si tu veux enregistrer...)
AppliExcel.Quit

;-)


Wild and Free

Répondre à WhiteFang

7

Seb31, le 15 jan 2004 à 15:04:43

Tu as aussi un tutoriel bien fait ici:
http://drq.developpez.com/vb/tutoriels/Excel/

Seb
Ne pas avoir de but est aussi un but. 

Répondre à Seb31

6

WhiteFang, le 15 jan 2004 à 15:03:07

;-)

Pour répondre aussi à Dimadja : La variable d'application :

ActiveCell.SpecialCells(XlCellTypeLastCell).Row où Column

t'évitera pas mal de très lourdes boucles While machin, qui ne sont pas très usités quand on fait du VB, sauf sous la torture !! ;-)))))) Le dev, le dev, fô aller à l'essentiel !! ;-) En toute amitié !! ;-)

;-)

Wild and Free

Répondre à WhiteFang

8

WhiteFang, le 15 jan 2004 à 15:13:13

;-)

Pour répondre au post initial :

Dim AppliExcel As New Excel.Application
(cela va créer une nouvelle session Excel)

Dim NomFichier

NomFichier=AppliExcel.GetOpenFileName xxxxx
(où xxx sera un chemin vers un xls existant)

AppliExcel.Workbooks.Open NomFichier

Dim DerLne, DerCol, ClasseurActif, FeuilleActive

Set ClasseurActif=AppliExcel.ActiveWorkbook.Name

Set FeuilleActive=ClasseutActif.ActiveSheet.Name

Derlne=FeuilleActive.ActiveCell.SpecialCells(XlcelltypeLastC­ell).Row
DerCol=(idem, mais en récupérant).Column

Là, tu a tout ce qu'il te faut pour lire la feuille active....

Une boucle For, par exemple.... ;-)

;-)
Wild and Free

Répondre à WhiteFang

9

dj_jillustre, le 31 jan 2008 à 15:41:40

Quel est la version de VB pour ce code

Répondre à dj_jillustre

10

baatanass, le 26 mai 2009 à 14:00:51

Merci c 'est très intérisant mais si je veux cliqué sur un bouton et le fichier excel s'ouvre comment je vais faire

Répondre à baatanass

11

 baatanass, le 5 jun 2009 à 09:58:46

Bonjour,
merci pour votre aide sa me donne un espoir de continué mes recherche
pourquoi personne ne m'aide

merci pour tous

Répondre à baatanass