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 SubMerci 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
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