Bonjour tout le monde;
Mon MACRO Excel parcour la feuille excel active , ligne par ligne a l'aide dune boucle, et pour chaque ligne ; il crée un nouveau document word contenant un template bien precis , injecte les données de la lignedans cette template et puisn " enregistrer-sous" le document crée . ce que je veut faire , c'est de rassembler les document crée ( un document= une ligne de la feuille excel ) dans un seul doc . est-il possible ??
Je poste les lignes de mon Macro excel:
...
Dim j As Integer
j = ActiveSheet.UsedRange.Rows.Count 'Compter le nombre des lignes
For j = 2 To j
Dim n As Byte
n = Cells(1, Columns.Count).End(xlToLeft).Column
Dim nom As String
nom = Sheets(1).Cells(j, 2)
Set WordApp = CreateObject("word.application")
If ActiveWorkbook.Name Like "Class*.xls" Then ' Condition selon les noms des fichiers excel
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\User\My Documents\Class_fich.doc") 'ouvre document Word
Set oWdApp = CreateObject("Word.Application")
Set WordDoc = oWdApp.Documents.Open("C:\Documents and Settings\User\My Documents\Class_fich.doc")
For i = 1 To n
WordDoc.Bookmarks("Sig" & i).Range.Text = Cells(j, i) ' les signets du document Word sont nommés Sig1 , Sig2 , Sig3 ...
Next i
WordDoc.Bookmarks("Signet").Range.Text = Cells(j, 2) 'l entete du fichier WORD ou le nom du formulaire est attribuée a "Signet"
WordDoc.SaveAs Filename:=nom & ".doc" ' enregistre le nouveau doc word selon le nom de la 2 eme colonne du fichier excel
WordApp.Visible = False
End If
Next j
...
Mon MACRO Excel parcour la feuille excel active , ligne par ligne a l'aide dune boucle, et pour chaque ligne ; il crée un nouveau document word contenant un template bien precis , injecte les données de la lignedans cette template et puisn " enregistrer-sous" le document crée . ce que je veut faire , c'est de rassembler les document crée ( un document= une ligne de la feuille excel ) dans un seul doc . est-il possible ??
Je poste les lignes de mon Macro excel:
...
Dim j As Integer
j = ActiveSheet.UsedRange.Rows.Count 'Compter le nombre des lignes
For j = 2 To j
Dim n As Byte
n = Cells(1, Columns.Count).End(xlToLeft).Column
Dim nom As String
nom = Sheets(1).Cells(j, 2)
Set WordApp = CreateObject("word.application")
If ActiveWorkbook.Name Like "Class*.xls" Then ' Condition selon les noms des fichiers excel
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\User\My Documents\Class_fich.doc") 'ouvre document Word
Set oWdApp = CreateObject("Word.Application")
Set WordDoc = oWdApp.Documents.Open("C:\Documents and Settings\User\My Documents\Class_fich.doc")
For i = 1 To n
WordDoc.Bookmarks("Sig" & i).Range.Text = Cells(j, i) ' les signets du document Word sont nommés Sig1 , Sig2 , Sig3 ...
Next i
WordDoc.Bookmarks("Signet").Range.Text = Cells(j, 2) 'l entete du fichier WORD ou le nom du formulaire est attribuée a "Signet"
WordDoc.SaveAs Filename:=nom & ".doc" ' enregistre le nouveau doc word selon le nom de la 2 eme colonne du fichier excel
WordApp.Visible = False
End If
Next j
...