[VBA] Renseigner des signets Word dans une boucle For.

Renseigner des signets Word dans une boucle For. [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 17-06-2015 à 16:33:19    

[:eler:1] la section Prog'!
 
Je viens vous consulter comme j'arrive dans une impasse sur du VBA.
Mais avant cela... J'vous présente rapidement la situation. Je travaille actuellement sur un "projet" de pilotage de document Word depuis un tableur Excel : un tiers dispose d'une liste d'élève dans un classeur Excel et souhaiterait créer et remplir une fiche élève au format Word en reprenant un "Modèle" avec les informations renseignées dans la base Excel.
 
J'ai travaillé là dessus sur une suite Office 2010 (avec les Librairy Word et Excel 14.0) : Impec! Je suis arrivé à une solution pleinement fonctionnelle!  [:bobox360:1]  
 
Mais! Me direz vous! Ou est le problème dans c't'histoire?
Et bien sur une suite Office 2007, c'est tout de suite moins fonctionnel... [:l'0urs:3]
 
J'ai donc cherché à adapter l'existant : Librairies Références 12.0, Early/Late Binding et Débug ponctuel...
Malgré tout cela, j'arrive dans une impasse...
 
J'ai stockées les données "Options de Cursus" situées dans 13 colonnes de mon tableur Excel dans le tableau MesSignets().
Je souhaite ensuite insérer ces données dans les signets de ma fiche élève générée depuis mon "Modèle Word".
 
J'utilise pour cela une boucle For. SigX étant les signets de mon document Word.
Je pensais donc insérer chacune des 13 données renseignées dans le document Excel dans chacun des 13 signets de mon document Word :
Voilà ce que ça donne dans Excel :
http://www.kirikoo.net/images/14Anonyme-20150617-154657.png
Que je souhaite transférer dans le tableau de mon document Word :
http://www.kirikoo.net/images/14Anonyme-20150617-154744.png
 

Code :
  1. ''''Remplissage des champs Word quand l'information est renseignée dans Excel
  2.         With AppWD.Selection
  3.             For Colonne = 1 To 13
  4.                 .GoTo What:=wdGoToBookmark, Name:="sig" & Colonne
  5.                 .Bookmarks("sig" & Colonne).Range = MesSignets(1, Colonne)
  6.             Next
  7.         End With


 
A l’exécution de ma boucle, Microsoft Visual Basic m'indique :
http://www.kirikoo.net/images/14Anonyme-20150617-153019.png
Ce qui me semble normal étant donné que ma valeur de Colonne évolue tout au long de l’exécution de la boucle ainsi
 
Une idée? :jap:
 
 


---------------
[VDS] Enermax MaxRevo 1350W - TV 22" - Samsung 913V - Dock Lenovo USB-C - Clavier/Souris MX5500 [ACH] Xeon E5-1680v2
Reply

Marsh Posté le 17-06-2015 à 16:33:19   

Reply

Marsh Posté le 18-06-2015 à 10:25:51    

 
           Bonjour,
 
           modifier par exemple la ligne n°2 ainsi :  With AppWd.ActiveDocument.Bookmarks
 
           puis la ligne n°5 :  .Item("sig" & Colonne).Range = MesSignets(1, Colonne)
 
           La ligne n°4 ne sert à rien vu la ligne n°5 affectant directement le Range, à supprimer !
 
           Mais faut-il encore que chaque signet eut été bien créé sur la largeur d'un mot ou d'une cellule si tableau …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed