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 :

Portée et durée de vie de variables générées à partir d'un modèle word


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Portée et durée de vie de variables générées à partir d'un modèle word
    Bonjour,

    je rencontre une difficulté que je n'arrive pas à dépasser depuis un petit moment. Je vous explique ma situation : je génère des documents word à partir d'un modèle dans lequel sont enregistrées un certain nombre de macros. J'ai besoin que chaque document conserve la mémoire de certaines variables, notamment des Collections. Le problème c'est que, de ce que j'ai compris, ces collections se trouve dans le "Project" c'est à dire dans le Modèle de document. Du coup, dès que j'en génère un nouveau elles sont effacées et remplacées.

    Je vous l'explique d'une autre façon. Mon modèle génère plein de documents (doc1, doc2 etc...). Quand il crée doc1, j'ai toutes mes collections. Mais à partir du moment où je crée doc2, je ne les ai plus parce qu'il va les chercher dans le modèle et non dans le document concerné.

    J'ai pallié partiellement le problème en ayant recours à aux Variables d'ActiveDocument mais le souci c'est que ça m'oblige à coder différemment et d'une façon beaucoup plus lourde.

    Ma question est donc la suivante : y a t-il moyen de "domicilier" mes variables classiques dans le document plutôt que dans le modèle où se trouve tous les modules, UF etc...

    Merci beaucoup et bonne journée.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Sans voir ton code, c'est plutôt difficile de te répondre. Donc, si j'ai bien compris, tu as un modèle avec des macros et tu voudrais que tes macros puissent écrire des informations dans plusieurs documents. Sinon, tu vas devoir préciser.

    Tous les documents ouverts dans même session de Word sont regroupés dans la collection Documents de Word et tu peux passer par là pour choisir le document, sur lequel ta macro va agir.

    D'autre part, dans les versions plus récentes (2007 et après), il y a aussi les blocs de construction (BuildingBlocks) qui servent à conserver des informations permanentes qui peuvent réutilisées à volonté dans tous les documents, une fois qu'ils ont été construits et enregistrés.

    Autre chose que tu peux essayer, c'est de créer tes nouveaux documents en spécifiant que tu veux les créer à partir de ton modèle spécifique et pas à partir du modèle Normal. Il y a un exemple (le deuxième) sur cette page
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Août 2017
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Bonjour, merci beaucoup pour ta réponse. Voilà les précisions que je peux apporter.

    Citation Envoyé par clementmarcotte Voir le message
    Bonjour,

    Sans voir ton code, c'est plutôt difficile de te répondre. Donc, si j'ai bien compris, tu as un modèle avec des macros et tu voudrais que tes macros puissent écrire des informations dans plusieurs documents. Sinon, tu vas devoir préciser.

    Tous les documents ouverts dans même session de Word sont regroupés dans la collection Documents de Word et tu peux passer par là pour choisir le document, sur lequel ta macro va agir.
    En fait pour clarifier mon besoin, je souhaiterais que chaque documents réalisé à partir de mon modèle conserve les données dont il a besoin, après fermeture du document, notamment des Collections.

    Citation Envoyé par clementmarcotte Voir le message
    D'autre part, dans les versions plus récentes (2007 et après), il y a aussi les blocs de construction (BuildingBlocks) qui servent à conserver des informations permanentes qui peuvent réutilisées à volonté dans tous les documents, une fois qu'ils ont été construits et enregistrés.
    Effectivement j'utilise des BuildingBlocks mais avec des Variables dedans qui justement sont en lien avec les données propres à chaque document. Par ailleurs il ne me semble pas qu'il soit possible d'enregistrer des Collections.

    Ex de BB : Il y a <XXX> client qui ont commandé le produit <YYY>. Les variables XXX et YYY changeant d'un document à un autre, elles doivent y être conservée. YYY pouvant correspondre à une collection de produits, traduite en chaine de caractères.

    Citation Envoyé par clementmarcotte Voir le message
    Autre chose que tu peux essayer, c'est de créer tes nouveaux documents en spécifiant que tu veux les créer à partir de ton modèle spécifique et pas à partir du modèle Normal. Il y a un exemple (le deuxième) sur cette page
    J'ai regardé mais j'avoue que je ne comprends pas de quoi il s'agit.

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/06/2010, 12h11
  2. Durée de vie de variable static
    Par Braillane dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 23/09/2009, 16h55
  3. [PHP 5.2] Comment est gérée la durée de vie des variables ?
    Par Christophe Charron dans le forum Langage
    Réponses: 4
    Dernier message: 27/02/2009, 12h16
  4. Scope et durée de vie des variables
    Par TwoHorned dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2007, 17h28
  5. Duree de vie des variables
    Par biggione dans le forum Struts 2
    Réponses: 2
    Dernier message: 20/07/2007, 11h12

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