Classeur

Bonjour ,

une question que je me posais ; est il possible de compter les feuilles d'un classeur lorsque celui ci est fermé ou faut il nécessairement

l'ouvrir et le refermer ( ce que je pourrais facilement faire en vba ) ?

Merci pour vos suggestions

Bonjour,

Avec ADO tu peux compter le nombre de feuilles (considérées comme des tables) dans un classeur fermé. Exécute la proc Test en ayant adapté le chemin du classeur :

Sub Test()

    MsgBox NBFeuilles("D:\Mon dossier\Mon Classeur.xls")

End Sub

Function NBFeuilles(Fichier As String) As Integer

    Dim Con As Object
    Dim Cat As Object
    Dim Feuille As Object

    'crée les objets de connection au classeur
    Set Con = CreateObject("ADODB.Connection")
    Set Cat = CreateObject("ADOX.Catalog")
    Set Feuille = CreateObject("ADOX.Table")

    Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
             & Fichier & _
             ";Extended Properties=Excel 8.0;"

    Set Cat.ActiveConnection = Con

    'retourne le nombre de feuilles
    NBFeuilles = Cat.Tables.Count

    'mets fin à la connection
    Con.Close
    Set Con = Nothing
    Set Cat = Nothing
    Set Feuille = Nothing

End Function

Hervé.

Bonjour,

J'ai testé et approuvé, c'est nickel 8)

Merci pour le code!

Merci pour cette réponse "Theze" et bonne journée

Rechercher des sujets similaires à "classeur"