Remplir un document Word avec Excel

Bonjour,

Je dois, à partir d'un document excel, remplir certaines cases d'un document Word. Un code est déjà fait mais je dois rajouter une case à remplir. J'ai donc utilisé un champ avec docvariable mais le champ ne se rempli pas quand j'execute le programme.

Si quelqu'un pouvait m'aider ce serait fort sympathique, voici le code :

Private Sub CommandButton2_Click()

If TextBox13.Value = "" Or TextBox1.Value = "" Or TextBox10.Value = "" Or TextBox4.Value = "" Or TextBox5.Value = "" Or TextBox6.Value = "" Or TextBox7.Value > 3 Or TextBox8.Value = "" Or TextBox9.Value = "" Or TextBox11.Value = "" Or TextBox12.Value = "" Then
MsgBox "Veuillez remplir les cases vides. Il est aussi possible que certaines cases soient mal remplies"

Else

Range("A" & Rows.Count).End(xlUp).Offset(1).Value = TextBox1.Value
Range("I" & Rows.Count).End(xlUp).Offset(1).Value = TextBox10.Value
Range("D" & Rows.Count).End(xlUp).Offset(1).Value = TextBox4.Value
Range("C" & Rows.Count).End(xlUp).Offset(1).Value = TextBox5.Value
Range("E" & Rows.Count).End(xlUp).Offset(1).Value = TextBox6.Value
Range("F" & Rows.Count).End(xlUp).Offset(1).Value = TextBox7.Value
Range("G" & Rows.Count).End(xlUp).Offset(1).Value = TextBox8.Value
Range("H" & Rows.Count).End(xlUp).Offset(1).Value = TextBox9.Value
Range("J" & Rows.Count).End(xlUp).Offset(1).Value = TextBox11.Value
Range("K" & Rows.Count).End(xlUp).Offset(1).Value = TextBox12.Value
Range("L" & Rows.Count).End(xlUp).Offset(1).Value = TextBox13.Value

l = Range("A" & Rows.Count).End(xlUp).Offset(0).Row - 1
Rows(Range("A" & Rows.Count).End(xlUp).Offset(0).Row).Interior.ColorIndex = 4
MsgBox "Le numéro de voiture est: " & l, vbOKOnly, "Numéro"

If MsgBox("Voulez-vous imprimer la fiche véhicule", vbYesNo, "Impression") = vbNo Then
End

Else

Dim WordApp As Word.Application
Dim WordDoc As Word.Document

Set WordApp = New Word.Application

If TextBox7.Value = 1 Then

Set Word Doc =WordApp.Documents.Open("Chemin du document")
WordApp.Visible = True

WordDoc.Fields(1).Result.Text = Range("C" & Rows.Count).End(xlUp).Offset(0).Value & " " & Range("D" & Rows.Count).End(xlUp).Offset(0).Value & " " & "N° " & l
WordDoc.Fields(2).Result.Text = Range("J" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(3).Result.Text = Range("K" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(4).Result.Text = Range("L" & Rows.Count).End(xlUp).Offset(0).Value 'C'est ce champ qui pose problème

WordApp.Dialogs(wdDialogFilePrint).Show
WordDoc.Application.ActiveDocument.PrintOut
WordDoc.Application.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
WordApp.Quit

ElseIf TextBox7.Value = 2 Then

Set WordDoc = WordApp.Documents.Open("Chemin du document")
WordApp.Visible = True
WordDoc.Fields(1).Result.Text = Range("C" & Rows.Count).End(xlUp).Offset(0).Value & " " & Range("D" & Rows.Count).End(xlUp).Offset(0).Value & " " & "N° " & l
WordDoc.Fields(2).Result.Text = Range("J" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(3).Result.Text = Range("K" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(4).Result.Text = Range("L" & Rows.Count).End(xlUp).Offset(0).Value
WordApp.Dialogs(wdDialogFilePrint).Show
WordDoc.Application.ActiveDocument.PrintOut
WordDoc.Application.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
WordApp.Quit

ElseIf TextBox7.Value = 3 Then

Set WordDoc = WordApp.Documents.Open("Chemin du document")
WordApp.Visible = True
WordDoc.Fields(1).Result.Text = Range("C" & Rows.Count).End(xlUp).Offset(0).Value & " " & Range("D" & Rows.Count).End(xlUp).Offset(0).Value & " " & "N° " & l
WordDoc.Fields(2).Result.Text = Range("J" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(3).Result.Text = Range("K" & Rows.Count).End(xlUp).Offset(0).Value
WordDoc.Fields(4).Result.Text = Range("L" & Rows.Count).End(xlUp).Offset(0).Value
WordApp.Dialogs(wdDialogFilePrint).Show
WordDoc.Application.ActiveDocument.PrintOut
WordDoc.Application.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
WordApp.Quit

Else
MsgBox " L'impression ne peut pas être lancée car le niveau de risque n'est pas compris entre 1 et 3 "

End If
End If
End
End If
End Sub

Merci d'avance

Bonjour,

Je dois, à partir d'un document excel, remplir certaines cases d'un document Word. Un code est déjà fait mais je dois rajouter une case à remplir. J'ai donc utilisé un champ avec docvariable mais le champ ne se rempli pas quand j'execute le programme.

Merci d'avance

çà ne s'appel pas du publipostage ? le vba n'est pas utile dans ce cas

Je ne sais pas du tout aurais tu une idée ?

bonjour

je complète la réponde de Xmenpl que je salue

voir les tutos sur Youtube, par exemple :

https://www.youtube.com/watch?v=kadloRTRTgI

amitiés

Rechercher des sujets similaires à "remplir document word"