"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