Est-il possible de compter le nb de feilles d'un classeur fermé ?
De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir
à ouvrir le classeur incriminé ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe JEAN
Slt
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple : Sub Compte_Feuille() Dim strNomCl As String Dim strMsg As String Dim DtDerModif As Date Dim intType As Integer Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000) ' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko " strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " & DtDerModif strMsg = strMsg & vbCrLf & " et il est de type " & intType
MsgBox strMsg
End Sub
A +
Christophe
Slt
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas
ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple :
Sub Compte_Feuille()
Dim strNomCl As String
Dim strMsg As String
Dim DtDerModif As Date
Dim intType As Integer
Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000)
' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko "
strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " &
DtDerModif
strMsg = strMsg & vbCrLf & " et il est de type " & intType
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple : Sub Compte_Feuille() Dim strNomCl As String Dim strMsg As String Dim DtDerModif As Date Dim intType As Integer Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000) ' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko " strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " & DtDerModif strMsg = strMsg & vbCrLf & " et il est de type " & intType
MsgBox strMsg
End Sub
A +
Christophe
Clément Marcotte
Bonjour,
De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir
"Christophe JEAN" a écrit dans le message de news:41547d1a$0$9198$
Slt
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple : Sub Compte_Feuille() Dim strNomCl As String Dim strMsg As String Dim DtDerModif As Date Dim intType As Integer Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000) ' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko " strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " & DtDerModif strMsg = strMsg & vbCrLf & " et il est de type " & intType
MsgBox strMsg
End Sub
A +
Christophe
Un grand merci, Christophe, et bonne nuit
"Christophe JEAN" <c.jean8@free.fr> a écrit dans le message de
news:41547d1a$0$9198$626a14ce@news.free.fr...
Slt
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas
ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple :
Sub Compte_Feuille()
Dim strNomCl As String
Dim strMsg As String
Dim DtDerModif As Date
Dim intType As Integer
Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes
documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000)
' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko "
strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " &
DtDerModif
strMsg = strMsg & vbCrLf & " et il est de type " & intType
"Christophe JEAN" a écrit dans le message de news:41547d1a$0$9198$
Slt
Pour le nombre de feuille ce n'est pas possible si le classeur n'est pas ouvert. Rien ne t'empêche de l'ouvrir, compte et fermer..
Pour les autres possibilités voici un petit exemple : Sub Compte_Feuille() Dim strNomCl As String Dim strMsg As String Dim DtDerModif As Date Dim intType As Integer Dim lngTaille As Long
strNomCl = "C:Documents and SettingsJEANCMes documentsClasseur1.xls"
lngTaille = Int(FileLen(strNomCl) / 1000) ' je divise par 1000 pour ne pas avoir d'octet mais en ko
DtDerModif = FileDateTime(strNomCl)
intType = GetAttr(strNomCl)
strMsg = "La taille du classeur est " & lngTaille & " ko " strMsg = strMsg & vbCrLf & "Il a été dernièrement modifié le " & DtDerModif strMsg = strMsg & vbCrLf & " et il est de type " & intType
MsgBox strMsg
End Sub
A +
Christophe
Laurent
Un grand merci, Clément, pour tes infos. J'épluche les infos obtenues depuis tes liens.
Bonne nuit
"Clément Marcotte" a écrit dans le message de news:%
Bonjour,
De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir
Pour compter le nombre de feuilles d'un classeur fermé, tu peux passer par ADO. Petit exemple à l'aide d'une fonction perso VBA :
'=============== Sub test() Dim Classeur 'nom à adapter Classeur = "D:fsdatas 6OfficeVBA 1ProgsClasseurDatesCompilDatesv6.xls" MsgBox "nb de feuilles : " & NbFeuillesClasseurFermé(Classeur) End Sub
Function NbFeuillesClasseurFermé(NomEtCheminComplet) Dim Conn, Cat, Tbl Dim Connex$ Connex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & NomEtCheminComplet & ";" & _ "Extended Properties=Excel 8.0;" Set Conn = CreateObject("ADODB.Connection") Conn.Open Connex Set Cat = CreateObject("ADOX.Catalog") Set Cat.ActiveConnection = Conn For Each Tbl In Cat.Tables If InStr(1, Tbl.Name, "$") > 0 Then Nb = Nb + 1 Next NbFeuillesClasseurFermé = Nb Conn.Close Set Cat = Nothing Set Conn = Nothing End Function 'fs '=============== FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir à tous,
Est-il possible de compter le nb de feilles d'un classeur fermé ? De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir à ouvrir le classeur incriminé ?
Merci de vos contributions
Laurent, de Toulouse
Bonjour,
Pour compter le nombre de feuilles d'un classeur fermé, tu peux passer par ADO.
Petit exemple à l'aide d'une fonction perso VBA :
'=============== Sub test()
Dim Classeur
'nom à adapter
Classeur = "D:fsdatas 6OfficeVBA 1ProgsClasseurDatesCompilDatesv6.xls"
MsgBox "nb de feuilles : " & NbFeuillesClasseurFermé(Classeur)
End Sub
Function NbFeuillesClasseurFermé(NomEtCheminComplet)
Dim Conn, Cat, Tbl
Dim Connex$
Connex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomEtCheminComplet & ";" & _
"Extended Properties=Excel 8.0;"
Set Conn = CreateObject("ADODB.Connection")
Conn.Open Connex
Set Cat = CreateObject("ADOX.Catalog")
Set Cat.ActiveConnection = Conn
For Each Tbl In Cat.Tables
If InStr(1, Tbl.Name, "$") > 0 Then Nb = Nb + 1
Next
NbFeuillesClasseurFermé = Nb
Conn.Close
Set Cat = Nothing
Set Conn = Nothing
End Function 'fs
'===============
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir à tous,
Est-il possible de compter le nb de feilles d'un classeur fermé ?
De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir
à ouvrir le classeur incriminé ?
Pour compter le nombre de feuilles d'un classeur fermé, tu peux passer par ADO. Petit exemple à l'aide d'une fonction perso VBA :
'=============== Sub test() Dim Classeur 'nom à adapter Classeur = "D:fsdatas 6OfficeVBA 1ProgsClasseurDatesCompilDatesv6.xls" MsgBox "nb de feuilles : " & NbFeuillesClasseurFermé(Classeur) End Sub
Function NbFeuillesClasseurFermé(NomEtCheminComplet) Dim Conn, Cat, Tbl Dim Connex$ Connex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & NomEtCheminComplet & ";" & _ "Extended Properties=Excel 8.0;" Set Conn = CreateObject("ADODB.Connection") Conn.Open Connex Set Cat = CreateObject("ADOX.Catalog") Set Cat.ActiveConnection = Conn For Each Tbl In Cat.Tables If InStr(1, Tbl.Name, "$") > 0 Then Nb = Nb + 1 Next NbFeuillesClasseurFermé = Nb Conn.Close Set Cat = Nothing Set Conn = Nothing End Function 'fs '=============== FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir à tous,
Est-il possible de compter le nb de feilles d'un classeur fermé ? De même, peut-on obtenir d'autres propriétés ( taille, nom ... ) sans avoir à ouvrir le classeur incriminé ?