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 ~

~ L'Astuce du Jour ~

Comment extraire la liste des feuilles d'un classeur Excel?
A partir de Visual Basic, on peut manipuler assez facilement les classeurs Excel (pour peu qu'ils ne soient pas trop compliqués). Avec ADO on peut potentiellement toucher n'importe quel type de données structurées. Pour Excel, c'est d'autant plus simple par le fait que c'est tout de même un produit Microsoft. Pour ce genre d'opération on passe par le moteur Jet...

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

Attention, les noms de feuilles peuvent être suivis du caractère '$', d'autres feuilles peuvent apparaître en double avec la mention 'Print_Aera', ce sont en fait des feuilles cachées définissant les zones d'impressions.

17/04/2006 @ 19:04 - Code
Petite mise à jour avec quatre nouvelles fonctions à découvrir dans la rubrique "Code".
A+
13/03/2006 @ 19:11 - API
On commence la semaine en douceur avec 5 fonctions APIs (certaines sont des ajouts, d'autres des modifications), avec leurs exemples.
Je constate que le code de ces derniers est un peu trop large pour l'affichage en 800x600... je le note pour le rectifier d'ici la fin de la semaine. D'ailleurs, ça me fait penser que l'affichage dans d'autres résolutions (par le bloc "affichage" dans la colonne de droite) donne n'importe quoi... à regarder aussi donc.
Have a nice evening...
12/03/2006 @ 12:03 - Ménage et fonds de tiroir
Après une loooongue période de sommeil je reprend le clavier pour dépoussierer le site.
Il faut dire qu'avec le temps, il y a pas mal de chose qui ne vont plus. Des liens qui se cassent, quelques bugs qui s'entassent, et des compteurs qui s'affolent .
En plus, si le site tourne en rond, de mon côté je continue malgré tout à accumuler du code. Et c'est quand même mieux si tout le monde peut en profiter.
Ca fait beaucoup de boulot tout ça et il y en a donc pour quelques jours. Voyons... ça fait une bonne trentaine de fonctions supplémentaires qui devraient arriver, quelques APIs et un petit programme pour se divertir.

Pour ce qui est de la reprise du site, c'est toujours d'actualité. On en reparlera plus tard...
~ En stock ~
. 214 fonctions API
. 12 applications
. 130 fonctions
. 38 liens dans l'annuaire
. 3 questionnaires
. 20 livres sur Visual Basic
. 1474 icônes

~ Affichage ~

~ Recommander ~





Géré par LBB.ORG
Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr