Problème boucle pour remplissage de tableau Word à partir de Excel
Bonjour à tous !
Etant débutant en VBA, ce que je vais vous demander vous paraîtra sans doute être le BABA, mais après avoir épluché Google, je viens poser ma question ici en dernier recours...
Je souhaite remplir un tableau Word à partir d'un tableau Excel. Pour ce faire j'utilise ce code :
Sub modifiertableau1()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("C:\monDocument.doc", ReadOnly:=True)
WordDoc.Tables(1).Columns(1).Cells(1).Range.Text = Range("F10")
End SubAyant beaucoup de lignes réparties sur plusieurs tableaux, j'ai souhaité faire une boucle sur cette fonction.
Voici cette boucle :
Sub docremis()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim numero As Integer
Dim ligne As Integer
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("C:\monDocument.doc", ReadOnly:=True)
numero = 1 'Numéro de départ (correspond ici au n° de ligne et au n° de numérotation)'
While numero <= 30 'TANT QUE la variable numero est <= 30, la boucle est répétée
ligne = 10 + numero
WordDoc.Tables(1).Columns(1).Cells(1).Range.Text = Range(Cells(6, ligne))
numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle'
Wend
End SubVous devez vous en douter vu le titre mais cette boucle ne fonctionne pas...
J'ai identifié deux problèmes de mon côté:
1) Je n'arrive pas à changer le Range("F11") par un Range(Cells(6, 11)) ni par Cells(6, 11). Aucun message d'erreur n'est renvoyé mais la valeur de la cellule n'est plus reportée dans le Word.
2) Lorsque je remplace la valeur numérique "11" par la variable "ligne", un message d'erreur apparaît et le code fonctionne encore moins...
Si vous pouviez m'aider je vous en serais très reconnaissant, j'ai vraiment cherché mais je n'ai pas réussi à trouver solution à mon problème.
Bonne journée !
Si certains étaient dans le même cas que moi, j'ai finalement trouvé solution à mon problème grâce à ce Topic https://forum.excel-pratique.com/excel/creation-word-a-partir-de-fichiers-word-excel-avec-vba-143571#p882304 (dommage de n'être pas tombé dessus avant de poster le message ! ahah ) et particulièrement au document creer-doc-word.xlsm fournit par un certain pierrep56. Je le remercie !
- La solution du problème 1 est de remplacer Range("F11") par Range("F" & 11).
- La solution du problème 2 est de mettre Range("F" & ligne ).
En espérant que ça puisse aider quelqu'un.