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 :

Controler Word depuis Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 173
    Par défaut Controler Word depuis Excel
    Bonjour,

    je programme en Excel VBA depuis quelques mois, et là, je dois prendre le contrôle de Word depuis Excel et je bloque sur quelque chose de certainement très simple, mais je bloque. C'est à propos de l'objet selection en Word VBA qui a l'air d'être assez différent de ce qu'il est en Excel VBA.

    Dans un classeur Excel, j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
        Dim Word As Word.Application
        Set Word = New Word.Application
     
        Word.Visible = True
     
        Dim leDocument As Document
        Word.Documents.Open "C:\WINNT\Profiles\c5438\Bureau\test.doc"
        Set leDocument = Word.Documents("test.doc")
     
        leDocument.Range(0, 0).Select
        Selection.MoveEnd wdStory
    End Sub
    Ce code, selon moi, est supposé ouvrir le document et sélectionner l'intégralité du texte. Sauf que j'ai l'erreur suivante :

    Erreur d'exécution '438' :
    Propriété ou méthode non gérée par cet objet.
    Le truc bizarre, c'est que si j'ouvre le document dans word à la main et que je lance le code suivant, j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub test()
        ThisDocument.Range(0, 0).Select
        Selection.MoveEnd wdStory
    End Sub
    Le code fonctionne et fait bien ce que je veux...

    Bref, je ne vois pas où est le problème. C'est pourquoi, je fais appel à votre aide.

    Je vous remercie.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Evite de nommer tes variables de la même façon que les propriétés, méthodes et objets de VBA car sinon le complilateur ne sais pas trop où il en est et tu peux, dans ce cas, être privé de l'intellisense. Teste ce qui suit (j'ai fait simple) :
    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
     
    Sub test()
     
        Dim AppWord As Word.Application
        Dim AppDoc As Document
     
        Set AppWord = New Word.Application
     
        AppWord.Visible = True
     
        Set AppDoc = AppWord.Documents.Open("C:\WINNT\Profiles\c5438\Bureau\test.doc")
     
        With AppDoc
            .Range(0, .Range.Characters.Count).Select
        End With
     
    End Sub
    Hervé.

Discussions similaires

  1. controle de Word depuis Excel
    Par touche_a_tout dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/09/2007, 15h22
  2. Réponses: 2
    Dernier message: 15/06/2007, 10h55
  3. Question sur accès fichier word depuis excel (VBA)
    Par jerome.grange dans le forum VBA Word
    Réponses: 6
    Dernier message: 22/09/2006, 17h34
  4. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16
  5. Ouverture d'un template Word depuis Excel
    Par modus vivendi dans le forum VBA Word
    Réponses: 1
    Dernier message: 14/08/2005, 10h29

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