Remplissage automatique d'un template Word à partir d'une ligne spécifique
Bonjour, Je suis débutante en VBA (je viens de commencer à l'apprendre) , et on m'a demandé d'écrire un code qui me permettra de remplir automatiquement un template Word à partir d'une ligne spécifique d'un fichier excel , ce qui veut dire que chaque ligne de la feuille excel me générerai un fichier Word différent , j'ai triché et demandé à ChatGpt de me fournir le code nécessaire , mais le code généré par ChatGpt a une erreur de compilation dont je comprends pas la nature . Je voudrais votre aide pour soit me dire ou l'erreur réside dans ce code ou bien m'informer d'une autre façon pour faire le remplissage automatique.
Voici le code qui m'a été généré par ChatGpt :
' Define variables
Dim xlApp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim wrdApp As Word.Application
Dim wrdDocument As Word.Document
Dim wrdBookmark As Word.Bookmark
Dim columnName As String
Dim columnValue As String
' Open the Excel file and get the data from the first row
Set xlApp = New Excel.Application
Set xlWorkbook = xlApp.Workbooks.Open("C:\Users\asus\Downloads\Remplissage_automatique2 (3).xlsx")
Set xlWorksheet = xlWorkbook.Sheets("Base")
' Open the Word document template
Set wrdApp = New Word.Application
Set wrdDocument = wrdApp.Documents.Add("C:\Users\asus\Downloads\template.dotx")
wrdApp.Visible = True
' Loop through the columns in the first row of the Excel sheet and fill in the Word template
For Each wrdBookmark In wrdDocument.Bookmarks
columnName = wrdBookmark.Name ' Get the name of the current bookmark
columnValue = xlWorksheet.Range(columnName & "1").Value ' Get the value in the corresponding cell in the first row of the Excel sheet
wrdBookmark.Range.Text = columnValue ' Fill in the bookmark with the corresponding value from the Excel sheet
Next wrdBookmark
' Close the Excel file and the Word document
xlWorkbook.Close SaveChanges:=False
xlApp.Quit
wrdDocument.Close SaveChanges:=True
wrdApp.Quit
End SubEt voici un fichier excel et un template Word comme exemple pour que vous compreniez la fonction que je veux faire
Hello,
As tu tenté de regarder le publipostage ?
@+
Hello, Merci pour votre réponse. Oui, j'ai essayé le publipostage mais ce n'est pas vraiment ce que je veux faire, j'ai un fichier excel avec plusieurs lignes chacune décrit un poste de travail particulier , je voudrais donc générer un fichier word concernant chaque poste(et donc chaque ligne) automatiquement . Par publipostage par contre, à ce que je sache , ce ne serait pas possible puisqu'il faudrait faire le publipostage manuellement à chaque fois ou je change de ligne et donc de poste.