A voir également:
- Lire un fichier excel sous vb
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
8 réponses
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
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
;-)
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
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
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
Hello
2 solutions (je les connais mal ..)
-soit utiliser de RecordSet et un appel à ODBC
-soit utiliser un objetc Excel et Sheet
2 solutions (je les connais mal ..)
-soit utiliser de RecordSet et un appel à ODBC
-soit utiliser un objetc Excel et Sheet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
;-)
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
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
bonjour,
merci pour votre aide sa me donne un espoir de continué mes recherche
pourquoi personne ne m'aide
merci pour tous
merci pour votre aide sa me donne un espoir de continué mes recherche
pourquoi personne ne m'aide
merci pour tous
Dim fd As OpenFileDialog = New OpenFileDialog()
Dim strFileName As String
fd.Title = "Open File Dialog"
fd.InitialDirectory = "C:\"
fd.Filter = "All files (*.xls*)|*.xls*|All files (*.xls*)|*.xls*"
fd.FilterIndex = 2
fd.RestoreDirectory = True
If fd.ShowDialog() = DialogResult.OK Then
strFileName = fd.FileName
FileSelect.Text = fd.FileName
End If
Dim strFileName As String
fd.Title = "Open File Dialog"
fd.InitialDirectory = "C:\"
fd.Filter = "All files (*.xls*)|*.xls*|All files (*.xls*)|*.xls*"
fd.FilterIndex = 2
fd.RestoreDirectory = True
If fd.ShowDialog() = DialogResult.OK Then
strFileName = fd.FileName
FileSelect.Text = fd.FileName
End If
Bonjour,
J'essaye d'appliquer ce qui est expliqué ci-dessus à mon code VB mais ca ne marche pas! lorsque je tape "excel.application" , VB mentionne une erreur et me propose d'autres syntaxes comme par exemple : " Microsoft.Office.Interop.Excel.application".
Sur le tutoriel de développez.com, j'ai lu qu'il fallait rajouter le COM Microsoft Excel x.x. Ce que j'ai fait. Pour être précis, j'ai rajouté le COM "Microsoft Excel 15.0 Object Library". J'imagine que c'est le même que celui mentionné dans le tutoriel.
Voilà, je ne sais pas comment corriger cette erreur.
J'essaye d'appliquer ce qui est expliqué ci-dessus à mon code VB mais ca ne marche pas! lorsque je tape "excel.application" , VB mentionne une erreur et me propose d'autres syntaxes comme par exemple : " Microsoft.Office.Interop.Excel.application".
Sur le tutoriel de développez.com, j'ai lu qu'il fallait rajouter le COM Microsoft Excel x.x. Ce que j'ai fait. Pour être précis, j'ai rajouté le COM "Microsoft Excel 15.0 Object Library". J'imagine que c'est le même que celui mentionné dans le tutoriel.
Voilà, je ne sais pas comment corriger cette erreur.
Bonjour,
Voir ceci pour plus d'explication:
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
Voir ceci pour plus d'explication:
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
bonne journée!!
mais je debute en VB
Quelqu'un pourrait-il m'expliquer un peu mieux?
merci d'avance
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
http://drq.developpez.com/vb/tutoriels/Excel/
Seb
Ne pas avoir de but est aussi un but.
Merci pour vos reponse