Bonjour à tous,
J’ai récemment découvert une astuce permettant de synchroniser entre eux plusieurs contrôles de contenu.
Si l’utilisateur édite un des contrôles de contenu synchronisés, la nouvelle valeur se répercute sur les autres contrôles.
Pour mettre en place cette synchronisation, la méthode consiste à se créer une propriété perso XML (CustomXML) et ensuite mapper chaque contrôle à synchroniser vers cette même propriété XML.
L’inconvénient de cette méthode réside dans l’édition de la liste des propriétés persos XML (ajout/suppression de propriétés).
En effet, la solution manuelle pour créer une liste de propriétés consiste à importer un fichier xml (ayant une syntaxe particulière). Et pour éditer cette liste de propriétés, il faut dézipper le fichier Word, éditer le fichier customXml\itemX.xml et reconstituer le document Word.
Bref, c’est laborieux.
L’add-in présenté ici sert à faciliter la gestion de cette liste de propriétés.
Une fois l’add-in ajouté à Word, il suffit alors d’exécuter la macro EditXmlProperties pour éditer la liste des propriétés du document actif via ce simple formulaire :
PS : le nom des variables est limité à des lettres sans accent, et sans espace.
C’est tout, l’utilisation de l’add-in s’arrête là.
Ces propriétés sont ensuite visibles dans le Volet de Mappage XML (onglet Développer > Volet de Mappage XML) en sélectionnant la partie XML nommée Propriétés XML du document.
Pour mapper un contrôle de contenu du document vers une de ces propriétés, il suffit de :
- Sélectionner le contrôle de contenu
- Faire un clic-droit sur la propriété puis Mapper vers le contrôle de contenu sélectionné.
Il est également possible d’insérer un contrôle de contenu à la position du curseur en faisant un clic-droit sur la propriété, Insérer un contrôle de contenu, puis choisir le type de contrôle.
Une fois le mapping effectué, la synchronisation des différents contrôles de contenu est mise en place.
Si l’utilisateur modifie un contrôle :
- La nouvelle valeur est poussée dans la propriété XML mappée
- Elle est ensuite répercuté sur les autres contrôles mappés
L’avantage de cette solution réside dans le fait que tout le paramétrage est porté par le fichier et la synchronisation des contrôles de contenu est assurée par Word.
Il est également à noter que la synchronisation est également effective si la valeur d’un contrôle de contenu est modifiée en VBA.
Pour installer cet add-in, il faut :
- Dézipper le fichier joint
- Déposer le fichier AddIn - CustomPropXml.dotm dans le dossier C:\Users\<NomUtilisateur>\AppData\Roaming\Microsoft\Word\STARTUP (créer le dossier STARTUP s’il n’existe pas)
- Peut-être y aura-t-il à charger le complément
Ensuite, pour lancer l’add-in, il faut à partir du document à traiter :
- Soit exécuter la macro EditXmlProperties
- Soit utiliser le raccourci <Alt> + <X>
A+
Fichier : AddIn - CustomPropXml.zip
Partager