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

VBA Word Discussion :

Macro VBA pour contrôler et mettre à jour deux valeurs entre Word et Excel [WD-2010]


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Macro VBA pour contrôler et mettre à jour deux valeurs entre Word et Excel
    Bonjour à tous,

    Malgré mes recherches, je ne trouve pas comment réaliser cette action : contrôler et mettre à jour deux valeurs entre Word et Excel.

    Je m'explique. J'ai actuellement un classeur Excel dans lequel j'ai des données. A partir de ce classeur et via une macro, je remplis un fichier Word.
    Ce fichier Word est un document qui ne contient que la page de garde et les premiers chapitres.
    La macro Excel ouvre donc le document et complète les chapitres suivants en partant d'un signet qui indique où on commence l'ajout des données.
    Et parmi les données ainsi ajoutée au document Word, on trouve un numéro de version, qui est écrit en dur dans la cellule A1 du classeur Excel.

    Le document Word est le document de référence pour ma société, mais c'est le document Excel qui contient les données de travail et c'est lui qui reçoit les modifications à apporter en premier.
    Et il donc est important de s'assurer que le document Word a la même version que le classeur Excel, c'est à dire de s'assurer que si la version du classeur a changée car des modifications ont été apportées, on le signale à l'utilisateur afin qu'il n'utilise pas une version Word obsolète.

    Ce que je voudrais faire, c'est lancer une macro à l'ouverture du document Word (liée à l'événement Document_Open vraisemblablement).
    Cette macro devrait comparer un champ contenant la version du document Word (il n'existe pas pour l'instant en tant que champ voir message suivant : cette zone existe mais ça ne semble pas être un champ) avec la cellule contenant la version du classeur Excel (la cellule A1).
    Ainsi, si le 2 valeurs diffèrent, un message serait affiché à l'attention de l'utilisateur.

    Le hic, c'est que je ne maîtrise pas l'utilisation des champs dans Word et que je ne sais pas comment récupérer la valeur d'un champ (pour contrôle) ou la mettre à jour (lors de la génération via macro Excel).

    Pouvez-vous m'indiquer comme faire cela SVP ?
    Il y aurait donc un accès à ce champ en lecture via Word, et un accès en écriture via Excel.

    Merci par avance pour votre précieuse aide

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Snifff, personne pour m'aider :'(

    Ce que je cherche à faire n'est pas clair ?
    Si c'est le cas, je peux essayer d'expliquer plus simplement ou plus précisément.

    En complément de ma question d'hier, je viens de me rendre compte que la zone dans laquelle je voudrais écrire n'est pas un champ
    Pour m'en assurer j'ai lancé la macro indiquée ici : http://word.developpez.com/faq/?page...a_liste_champs
    Le résultat me montre que cette zone n'est pas un champ.
    Et dans Word 2010, quand je clique sur le texte, j'ai "Outils de tableau" qui s'affiche dans la barre de menu, sauf que les autres tableaux ne sont pas comme ça.

    Quelqu'un peu me dire ce que c'est ? Je n'ai jamais utilisé ce type de "champ" avec les nouvelles versions de Word
    Nom : capture.jpg
Affichages : 604
Taille : 10,1 Ko

    C'est à cet endroit que je veux mettre à jour le numéro de version.

    Ouais, je sais, je vais passer pour un noob, mais je serai un peu moins bête après

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Bonjour à tous,

    J'ai un début de réponse à la question que j'avais posée.
    Malgré le peu d'attrait qu'a eu mon problème, je me dis que certains pourraient être intéressés, donc je me réponds

    Alors, premièrement, le "champ" dont j'ai parlé et qui s'appelle "Référence_Indice" est en réalité un contrôle de contenu.
    Ces éléments sont accessibles sur Word quand on ajoute au menu (personnaliser le ruban) la catégorie Développeur.

    Enfin, pour modifier ces éléments à partir d'Excel, il faut utiliser Document.SelectContentControlsByTag("nomDeBalise").

    Voilà, j'espère que ça servira à d'autres.

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

Discussions similaires

  1. Macro pour mettre à jour deux fichiers en 1 seul
    Par HINDI58 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/12/2012, 21h14
  2. Macro VBA pour mettre colonne en ligne avec cellule fusionnée
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2008, 07h09
  3. VBA pour Acces Mise a jour table
    Par Pingouin22 dans le forum Access
    Réponses: 2
    Dernier message: 15/12/2006, 00h20
  4. [VBA-E] Macro VBA pour personaliser mon .doc depuis mon .xls
    Par korntex5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/05/2006, 17h01

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