Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction : ListeFeuilleExcel
Fonction pour récupérer la liste des feuilles d'un classeur Microsoft Excel.
(Consulté 19542 fois.)

Private Function RecupListeFeuilleExcel(stFichier As String, _
       
Optional lgTypeXls As Long = 1) As String()
' Retourne dans un tableau la liste des feuilles contenues dans un fichier Excel.
' stFichier est le nom du fichier à ouvrir
' lgTypeXls est le type du fichier (Excel 2000,97/95,4)
Dim adoXLSc As ADODB.Connection, adoXLSs As ADODB.Recordset
Dim tabRes() As String, lgRes As Long
' Initialisation de l'objet
Set adoXLSc = New ADODB.Connection
' Déclaration des propriétés du fichier à ouvrir
adoXLSc.Provider = "Microsoft.Jet.OLEDB.4.0"
Select Case lgTypeXls
   
Case 1
        adoXLSc.Properties("Extended Properties") = "Excel 8.0"
   
Case 2
        adoXLSc.Properties("Extended Properties") = "Excel 5.0"
   
Case 3
        adoXLSc.Properties("Extended Properties") = "Excel 4.0"
End Select
' Ouverture du fichier
adoXLSc.Open stFichier
Set adoXLSs = New ADODB.Recordset
' Récupère les "tables" (feuilles)
Set adoXLSs = adoXLSc.OpenSchema(adSchemaTables)
lgRes = -1
Do While Not adoXLSs.EOF
    lgRes = lgRes + 1
   
ReDim Preserve tabRes(lgRes) As String
   
tabRes(lgRes) = adoXLSs(2)
    adoXLSs.MoveNext
Loop
' Fermeture des objets
adoXLSs.Close
Set adoXLSs = Nothing
adoXLSc.Close
Set adoXLSc = Nothing
If (
lgRes < 0) Then
   
RecupListeFeuilleExcel = Empty
Else
   
RecupListeFeuilleExcel = tabRes
End If
End Function
Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr