IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Connaitre le nombre de page d'un document word


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut Connaitre le nombre de page d'un document word
    Bonjour,
    Une petite question venant d'un autre stagiaire et la je sèche.
    On a besoin de connaitre le nombre de page de chacun des fichiers word d'un dossier. Boucler sur le contenu du répertoire pas de problème. Le problème est de récupérer le nombre de page. Voici le code utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    'Necessite d'activer la reference Microsoft Shell Controls and Automation
    '
    Dim objShell As Object, strFileName As Object
    Dim objFolder As Folder
    Dim Resultat As String
    Dim i As Byte
     
    Set objShell = CreateObject("Shell.Application")
    'repertoire cible
    Set objFolder = objShell.nameSpace("C:\Test")
     
    'boucle sur tous les elements du repertoire
    For Each strFileName In objFolder.Items
      'pour que les sous dossiers ne soient pas pris en comptes
      If strFileName.isFolder = False Then
      Resultat = objFolder.getDetailsOf(strFileName, 13)
      MsgBox Resultat
      End If
    Next
    End Sub
    Le problème étant que par cette méthode on obtient toujours 1 page (manuellement on a le même résultat) quelque soit le nombre de page du fichier...

    Si quelqu'un as une solution

    Bon visiblement c'est le VBA word qui est utilisé du coup je repose ma question sur le bon forum.
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Essayez avec votre code modifiez ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    'Necessite d'activer la reference Microsoft Shell Controls and Automation
    ''''''Library Word
    ''''''C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB
    ''''''Microsoft Word 11.0 Object Library
     
    Sub xx()
    Dim objShell As Object, strFileName As Object
    Dim objFolder As Object 'Folder
    Dim Resultat As String
    Dim i As Byte
     
          '///////////////////////
    Dim AppWord As Word.Application
    Dim myDoc As Word.Document
    Dim nbPages&
          '///////////////////////
     
    Set objShell = CreateObject("Shell.Application")
    'repertoire cible
    Set objFolder = objShell.Namespace("C:\Test")
    'boucle sur tous les elements du repertoire
    For Each strFileName In objFolder.Items
      'pour que les sous dossiers ne soient pas pris en comptes
      If strFileName.isFolder = False Then
     
          '///////////////////////
        If LCase(Right(strFileName, 4)) = ".doc" Then
          If AppWord Is Nothing Then Set AppWord = CreateObject("Word.Application")
          Set myDoc = AppWord.Documents.Open("C:\Test" & "\" & strFileName & "")
          nbPages& = myDoc.Windows(1).Panes(1).Pages.Count
     
      MsgBox "Nombre de pages contenues dans ''" & strFileName & "'' : " & nbPages&
     
          myDoc.Close wdDoNotSaveChanges
          Set myDoc = Nothing
        End If
      End If
    Next strFileName
    If Not AppWord Is Nothing Then
      AppWord.Quit
      Set AppWord = Nothing
    End If
          '///////////////////////
     
    End Sub
    Cordialement.

    PMO
    Patrick Morange

Discussions similaires

  1. [WD-2003] Connaitre le nombre de page d'un document word
    Par Krovax dans le forum VBA Word
    Réponses: 4
    Dernier message: 07/07/2009, 21h23
  2. Réponses: 1
    Dernier message: 28/04/2009, 11h49
  3. Connaitre le nombre de page d'un fichier Word
    Par abbd dans le forum Services Web
    Réponses: 1
    Dernier message: 23/02/2009, 11h26
  4. Détection de nombres de pages dans un documents Word,Pdf,Xsl ..
    Par moez.mhiri dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 13/01/2009, 09h23
  5. Nombre de page d'un document word
    Par DonKnacki dans le forum VBA Word
    Réponses: 3
    Dernier message: 18/06/2007, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo