[VBA] Nombre de pages

LeGaulois

XLDnaute Nouveau
Bonjour!

Je suis actuellement en stage, et je développe un outil avec VBA sous Excel. Et je me retrouve dans le cas où il faudrait connaitre le nombre de pages de différents documents de différents types.

J'arrive à compter le nombre de pages d'un fichier PDF, mais concernant les fichiers Word (.doc), je nage totalement en mode submersible lol ...

Et si au passage vous sauriez faire aussi pour compter le nombre de pages totales d'un document excel, ça m'intéresse fortement!

Si quelqu'un pourrait m'aider?

Merci
 

LeGaulois

XLDnaute Nouveau
Re : [VBA] Nombre de pages

Bonjour bond,

Merci mais avec HPageBreaks, on ne compte que le nombre de page d'une certaine feuille. Il faut savoir le nom de la feuille et on ne peut pas l'appliquer automatiquement à toutes les feuilles d'un classeur excel.
Or j'ai une liste de fichier (pdf, xls, et doc) et j'aimerai savoir leur nombre de pages. Pour les PDF j'y arrive, mais pour les fichiers xls et doc, je n'y arrive pas du tout.
Il faut savoir que je connais que leur nom et leur chemin d'accès, pas leur contenu.

Merci
 

tototiti2008

XLDnaute Barbatruc
Re : [VBA] Nombre de pages

Bonjour LeGaulois, Bonjour bond,

Pour Excel

Code:
Dim NbFeuil As Long, Sh As Worksheet
NbFeuil = 0
For Each Sh In ActiveWorkbook.Worksheets
    NbFeuil = NbFeuil + Sh.HPageBreaks.Count + 1
Next Sh
MsgBox NbFeuil

Pour Word

Code:
ActiveDocument.ActiveWindow.Panes(1).Pages.Count
 

LeGaulois

XLDnaute Nouveau
Re : [VBA] Nombre de pages

Bonjour tototiti2008,

Je vais oser poser une question demandant surement l'impossible :
Est-on obligé d'ouvrir les fichiers excel et word pour savoir leur nombre de pages?

J'aimerai pouvoir depuis ma macro sur excel, faire la liste de centaines de fichiers avec ces informations, du coup s'il faut les ouvrir à chaque fois, ça risque d'être très lourd non?

Sinon, pour pouvoir utiliser ce que vous m'avez proposé, est ce qu'il suffit (dans le cas de World) utiliser :
Code:
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim NbPage As Byte
    
    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Open(File) 'File étant le chemin pour accéder aux fichiers
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : [VBA] Nombre de pages

Re,

Est-on obliger d'ouvrir les fichiers excel et word pour savoir leur nombre de pages?

Dans les propriétés Office des documents Word, il y en a une qui correspond au nombre de pages
Malheureusement, en vérifiant, j'ai l'impression qu'elle est souvent fausse.... (en tout cas je suis tombé sur un document de 8 pages où les propriétés ne comptaient qu'une page)
J'ai peur que pour des informations correctes tu sois obligé d'ouvrir les documents, et le code que tu proposes devrait le faire (pense à quitter l'application Word créée)
 

LeGaulois

XLDnaute Nouveau
Re : [VBA] Nombre de pages

Rebonjour,

Effectivement il est possible que je ne puisse pas automatiser cette action pour les fichiers word mais aussi pour les fichiers excel (Support Microsoft)... C'est vraiment problématique... Surtout quand je génère une liste de plus de 200 fichiers, et qu'elle est généré par le plus petit projet que j'ai en ma possession lol

Finalement je m'excuse, je vous ai fait perdre votre temps ...
Un grand merci, au moins les choses sont clairs.
 

Discussions similaires

Statistiques des forums

Discussions
312 339
Messages
2 087 407
Membres
103 538
dernier inscrit
Mbolatiana Hyacinthe