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 :

Une autre façon de compter les pages d'un document word


Sujet :

Macros et VBA Excel

  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut Une autre façon de compter les pages d'un document word
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub NombrePagesDansDocWord()
    Dim wdApp As Word.Application, wdDoc, nbPages As Long
        Set wdApp = CreateObject("word.application")    'ouvre une session Word
        Set wdDoc = wdApp.Documents.Open("D:\Doc\WordDoc.doc")    'ouvre le document Word
        wdApp.Selection.EndKey Unit:=wdStory
        nbPages = wdApp.Selection.Information(wdActiveEndPageNumber)
        wdDoc.Close
        wdApp.Quit
        Set wdDoc = Nothing
        Set wdApp = Nothing
        MsgBox nbPages
    End Sub

  2. #2
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Une solution qui fonctionne avec des documents Word 2007
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Function nbPages(ByVal strDocName as String)
        Dim x As Object
        Set x = GetObject(strDocName, "Word.Document")
        nbPages = x.BuiltinDocumentProperties(wdPropertyPages)
        Set x = Nothing
    End Function
    Je ne sais pas si cela fonctionne avec les autres versions... à essayer.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ta solution est effectivement celle donnée dans la FAQ... mais depuis Excel
    Ici on n'est pas dans Word

    Edit
    Fonctionne aussi sur Word 2003

    Fonctionne aussi sur Word 97
    Faudrait le dire dans VBA Word


    PS...
    Hello Maxence, j'ai ressorti la discussion de derrière les fagots, regarde là, "Contribuez" n'existait pas encore... Quel gachis tout de même !
    A+

  4. #4
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    Citation Envoyé par ouskel'n'or
    Ta solution est effectivement celle donnée dans la FAQ... mais depuis Excel
    Le code que j'ai écrit est valide quel que soit le logiciel d'origine. Il permet de faire de l'automation avec Word, comme l'indique le titre de ce thread.
    On peut utiliser cette procédure depuis Access ou powerpoint si on le souhaite.
    Par contre, ce qui est nul, c'est que je n'ai pas vérifié dans la FAQ avant de chercher puis tester ce code.
    Ca, c'est franchement nul !


    Citation Envoyé par ouskel'n'or
    Merci pour tes essais sous les autres versions de Word
    Hello Maxence, j'ai ressorti la discussion de derrière les fagots, regarde là, "Contribuez" n'existait pas encore... Quel gachis tout de même !
    A+
    Faut transmettre le lienà Heureux-Oli

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par Maxence
    Le code que j'ai écrit est valide quel que soit le logiciel d'origine. Il permet de faire de l'automation avec Word, comme l'indique le titre de ce thread.
    On peut utiliser cette procédure depuis Access ou powerpoint si on le souhaite.
    J'aurais dû le comprendre Je n'ai mis "ma" solution que parce que je suis tombé dessus par hasard dans mes codes... mais sur Word (!)
    Enfin, j'ai appris quelque chose. Je mourrai moins bête.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/07/2008, 00h15
  2. Réponses: 1
    Dernier message: 07/05/2008, 11h31
  3. [JavaScript] [FAQ] une autre façon de faire des tableaux à coins arrondis
    Par SpaceFrog dans le forum Contribuez
    Réponses: 6
    Dernier message: 10/01/2007, 09h35
  4. Comment mettre un lien dans une page vers une autre partie de la même page?
    Par Longway dans le forum Dépannage et Assistance
    Réponses: 4
    Dernier message: 12/10/2006, 18h58
  5. Imbriquer une méthode dans une autre façon php
    Par titpuce dans le forum Langage
    Réponses: 6
    Dernier message: 09/10/2006, 10h56

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