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 :

Problème pour récupérer un champ Word dans excel [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut Problème pour récupérer un champ Word dans excel
    Bonjour à tou(te)s,

    J'ai essayé de visionner chaque post qui en parle, essayé encore et encore... je n'arrive toujours pas à récupérer la valeur d'un champ de word vers excel !?

    J'ai créé un fichier word contenant 1 champ et puis, dans Excel, j'ai tapé ce code :

    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 recupere_champ_word()
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim valeur As String
     
    Set WordApp = CreateObject("word.application") 
    Set WordDoc = WordApp.documents.Open("E:\Mes documents\essai.docx") 
    WordApp.Visible = False '
     
    valeur = WordDoc.Fields(1).Result.Text
    WordDoc.Close False 
    WordApp.Quit 
     
    Range("A1").Value = valeur
     
    End Sub
    Le fichier word a bien l'air de s'ouvrir (mais je dois ouvrir une copie en lecture seule du fichier word !??) et puis j'ai une petite fenêtre dans excel qui s'affiche avec une grosse croix rouge avec les boutons "Ok" et "Aide"...

    Mais aucune valeur dans la cellule A1 !?

    J'ai pourtant coché dans "Outils - Références - "Microsoft Word 12.0 Object library" ...

    Qu'est-ce que je fais ou pas qui ne va pas ?

    Merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Ça fonctionne ici (Excel 2013). Est-ce que tu peux mettre le doc Word en PJ ?

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    Bonjour Daniel,

    Ah!? ... Cela me "conforte" un peu dans mes démarches... Donc, le problème viendrait du fichier word ?

    Je le joins à ce post. Tu verras, c'est un fichier tout ce qu'il y a de simple... une seule phrase et un champ -> fichier de test...

    Merci pour ton aide


    PS. : Lorsque je vais dans le gestionnaire des tâches, je vois "plein" de processus WINWORD.EXE !? C'est normal ?
    P.S.2 : Lorsque j'exécute la macro en mode débogage (pas à pas), j'ai l'erreur suivante sur la ligne valeur = WordDoc.FormFields(1).result
    -> Erreur d'exécution '5941' : Erreur définie par l'application ou par l'objet ??
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Je ne suis pas expert en Word, mais ton document ne contient pas de "champ" mais un contrôle de contenu (ContentControl).

    Il faut donc remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur = WordDoc.Fields(1).Result.Text
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur = WordDoc.ContentControls(1).Range.Text

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    Bonjour Daniel,

    Avec qques jours de retard (Pâques "oblige") : Un tout grand merci !!!

    Ah !? Il n'y avait pas de champ ... mais un contrôle de contenu... !? J'avais pourtant suivi un tuto pour insérer des champs dans Word... (Il est vrai que je n'utilise quasi pas Word... ou alors de façon très basique...).

    Je vais donc investiguer pour savoir quelle est la différence entre un contrôle de contenu et un champ dans Word.

    Encore merci pour ton aide

    Jackfly

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/12/2014, 20h32
  2. [MySQL] Problème pour récupèrer les champs d'un formulaire qui se trouve dans un while
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 21/03/2008, 14h59
  3. Réponses: 2
    Dernier message: 22/05/2007, 16h15
  4. Réponses: 12
    Dernier message: 25/06/2006, 23h24
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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