Tatiak

Excel, Vba, Vbs


28 juin 2009

"Piloter" Word depuis Excel - 2ème partie (2/4)

Pour continuer les explications du 14 juin, et  pour aller plus loin, voici comment compléter un tableau dans un document Word depuis Excel.
L'idée ici est de mettre en page des données Xl en adaptant la taille du tableau word avec la quantité de données à insérer.
Nous avons donc créé un document word comme indiqué précédemment dans lequel figure un tableau. Je vous suggère de  faire un tableau ne contenant qu'une seule ligne qui sera vide (pour cet exemple un tableau d'une seule colonne sera utilisé, le principe pour plusieurs est le même)

Dans un premier temps, les données Xl seront lues et placées dans une variable de "transit" (ici pour l'exemple les données sont dans la colonne A):
     Dim Transit() as string, Nbdonnées as integer, i as integer
         Nbdonnées = Feuil1.Range("A65000").End(xlUp).Row
          Redim Transit(Nbdonnées) ' pour dimensionner dynamiquement la variable
          For i = 1 To Nbdonnées 
               Transit(i)= Feuil1.cells(i,1).value
          next i

Après ouverture du fichier word (comme indiqué dans le post précédent), on place la première données dans le tableau (ici table(1)), puis on ajoute éventuellement une nouvelle ligne dans le tableau pour pouvoir placer la données suivante :
     With WordDoc.Tables(1)
          For i = 1 to Nbdonnées
               ligne = .row.count
               .Cell(ligne, 1).Range.InsertAfter Transit(i)
               If i < Nbdonnées Then .Rows.Add
          Next i
     end with

Et voilà à la suite, il convient de fermer proprement le fichier Word comme indiqué précedemment et votre document est mis à jour!

tatiak

Posté par tatiak à 09:56 - Excel-Word - Commentaires [0] - Permalien [#]

Commentaires sur "Piloter" Word depuis Excel - 2ème partie (2/4)

Nouveau commentaire