Présentation
Suite à une question sur le forum VBScript,
un code permettant la lecture d'une feuille excel, organisée en table ( 1° ligne = entête, et les autre lignes données)
ce code utilise Microsoft.Jet, et permet d'afficher le contenu d'une feuille d'un classeur Excel version 2000...
vous pourrez vous inspirer de l'article :
Lire et écrire dans les classeurs fermés
pour par exemple l'adapter à d'autre versions d'excel...
un code permettant la lecture d'une feuille excel, organisée en table ( 1° ligne = entête, et les autre lignes données)
ce code utilise Microsoft.Jet, et permet d'afficher le contenu d'une feuille d'un classeur Excel version 2000...
vous pourrez vous inspirer de l'article :
Lire et écrire dans les classeurs fermés
pour par exemple l'adapter à d'autre versions d'excel...
Compatibilité :
Option Explicit Dim strConnection, oConn, oRst Dim iCol Dim stLg Dim stFicExcel Const adOpenStatic = 3 Set oConn = CreateObject("ADODB.Connection") If Not ADO_OuvreClasseurExcel( oConn, "D:\tmp\liste.xls") then msgBox "Erreur ouverture classeur" Wscript.Quit else Wscript.Echo "classeur ouvert" end if set oRst = CreateObject("ADODB.Recordset") If Not ADO_rstFeuille(oConn,oRst,"feuille1") then msgBox "Erreur ouverture feuille" Wscript.Quit else Wscript.Echo "feuille ouverte" end if if oRst.fields.count > 0 then 'Affiche ent?te ( dans le cas ou la premi?re ligne contient bien les ent?te" Wscript.Echo "-----------------------------------------------------------------------------------------------------" stLg = "" For iCol = 0 To oRst.Fields.Count - 1 stLg = stLg & oRst.Fields(iCol).Name & vbTab ' rempalcer vbTab par ";" pour un fichier csv... Next Wscript.Echo stLg 'affiche les lignes While not oRst.EOF stLg = "" For iCol = 0 To oRst.Fields.Count - 1 stLg = stLg & oRst.Fields(iCol).value & vbTab ' rempalcer vbTab par ";" pour un fichier csv... Next Wscript.Echo stLg oRst.MoveNext Wend else msgBox "table introuvable" end if ' Fonction ADO d'ouverture classeur Excel ' Function ADO_OuvreClasseurExcel ( mConn, stFichier) ' as booelan Dim strConnection On Error resume next mConn.Provider = "Microsoft.Jet.OLEDB.4.0" strConnection = "Data Source=" & stFichier & ";Extended Properties=Excel 8.0;" 'A voir rajout s?lection version mConn.ConnectionString = strConnection mConn.open if Err.Number = 0 then ADO_OuvreClasseurExcel = true else Wscript.Echo "[ADO_OuvreClasseurExcel] : Erreur, ouverture fichier " & stFichier & " n? " & Err.Number & vbCrlf & Err.Description ADO_OuvreClasseurExcel = false end if End function ' ' OuvreFeuille ' Function ADO_rstFeuille (byRef mConn,byRef mRst, stFeuille ) mRst.Open "SELECT * FROM [" & stFeuille & "$]", mConn, adOpenStatic if Err.Number = 0 then ADO_rstFeuille = true else Wscript.Echo "[ADO_rstFeuille] : Erreur, ouverture feuille " & stFeuille & " n? " & Err.Number & vbCrlf & Err.Description ADO_rstFeuille = false end if end function
Poster une réponse
Retrouver la discussion sur le forum
Responsable Visual Basic
le 15/01/2011
tu l'as testé sur une machine qui n'a pas Excel ?
Responsable Visual Basic
le 15/01/2011
j'ai pas excel sur ma machine 
Responsable Visual Basic
le 15/01/2011
Dans ce cas, OK.
J'avais un doute, mais pas possible de tester, j'ai Excel partout
J'avais un doute, mais pas possible de tester, j'ai Excel partout

Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.





La discussion sur le forum