J'utilise une macro qui actualise certaines zones de texte dans un document Word, avec du texte provenant d'un classeur excel.
La macro fonctionne grosso modo comme:
- suppression des textes n du word (repérage par signets)
- collage des textes n+1 issus de l'excel aux mêmes emplacements (grâce aux signets une fois de plus)
Mon problème se situe à l'étape de suppression des textes n.
En effet, j'utilise pour l'instant l'argument wdParagraphs, qui permet de sélectionner des paragraphes au signet demandé.
Cependant, le nombre de paragraphes du texte collé est variable...
On peut donc se retouver avec un texte du style: "Paragraphe 1
Paragraphe 2
Paragraphe 3"
devant être remplacé par "Paragraphe 1"
or je n'ai pas de moyen de déterminer le nombre de paragraphes du texte à supprimer.
Je cherche donc un moyen de coller le texte permettant de l'identifier dans son intégralité lors de l'itération suivante (i.e., suppression).
- J'ai pensé à insérer des zones de texte, mais il n'est pas possible de les nommer (et j'ai besoin d'une correspondance exacte avec l'excel car j'ai une dizaine de zones de texte différentes). De plus, j'ai d'autres "shapes" dans mon document qu'il ne faut pas supprimer, donc pas possible de supprimer toutes les "shapes" d'un coup. Et les zones de texte posent des problèmes de mise en page car la longueur des textes est variable.
- J'ai pensé à insérer un compteur de paragraphes au moment du collage n, repris à la suppression n+1; mais il faut pour celà créer des entrées dans le fichier excel, qui est déjà saturé. C'est ma solution de secours mais j'espère encore trouver plus simple.
Si vous avez une idée d'objet nommable permettant d'insérer du texte, je suis preneur...
Je peux fournir un extrait de la macro/clarifier mon propos au besoin.
Bonjour Tristan,
Une méthode possible pour ce type de besoin est de placer un tableau (sans bordure) d'une seule colonne et autant de lignes que de signets de l'ancien doc. (en remplacement des signets)
Il est alors simple de se référer à la case n (pouvant comporter plusieurs paragraphes) du genre :
Bonjour Tristan,
Une méthode possible pour ce type de besoin est de placer un tableau (sans bordure) d'une seule colonne et autant de lignes que de signets de l'ancien doc. (en remplacement des signets)
Il est alors simple de se référer à la case n (pouvant comporter plusieurs paragraphes) du genre :
Bonjour Tristan,
Une méthode possible pour ce type de besoin est de placer un tableau (sans bordure) d'une seule colonne et autant de lignes que de signets de l'ancien doc. (en remplacement des signets)
Il est alors simple de se référer à la case n (pouvant comporter plusieurs paragraphes) du genre :