Les Allergies
Alimentaires
Posez votre question Signaler

Lire un fichier excel sous vb

pikatchou - Dernière réponse le 22 mai 2012 à 11:08
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!!!
Lire la suite 

Lire un fichier excel sous vb »

14 réponses
Réponse
+27
moins plus
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
WhiteFang- 15 janv. 2004 à 14:56
;-)

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
Seb31- 15 janv. 2004 à 15:04
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. 
amalex - 8 mai 2011 à 23:32
Je vois que le poste n'est pas tous recent mais j'essaye de faire un export de mes données excel dans un datagridview et etant debutant j'ai pris l'exemple de Dimandja mais je ne vois pas a quoi correspond MyNull ( jdois je le remplacer par null ?? ) et Linein ( faut le remplacer par Curline ???)


Merci pour vos reponse
Ajouter un commentaire
Réponse
+3
moins plus
;-)

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(XlcelltypeLastCell).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
Ajouter un commentaire
Réponse
+2
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
Hello


2 solutions (je les connais mal ..)

-soit utiliser de RecordSet et un appel à ODBC
-soit utiliser un objetc Excel et Sheet
Ajouter un commentaire
Réponse
+1
moins plus
;-)

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
Ajouter un commentaire
Réponse
+1
moins plus
Quel est la version de VB pour ce code
Ajouter un commentaire
Réponse
+0
moins plus
bonjour,
merci pour votre aide sa me donne un espoir de continué mes recherche
pourquoi personne ne m'aide

merci pour tous
badass - 22 mai 2012 à 10:58
parce qu'on t'aime pas
derien - 22 mai 2012 à 11:08
comment fait-on pour ouvrir un fichier excel sur VB (sharp develop) avec openfile.dialog
celui qui répond aura un bonbon
Ajouter un commentaire
Ce document intitulé « lire un fichier excel sous vb » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?