Bonjour à tous

j'ai un problème de macros VBA que je n'arrive pas à résoudre depuis quelques jours:

J'ai mon tableau dans Excel 2010 qui possède environ 260 lignes et je cherche à le découper en plusieurs plus petit tableau qui serons ensuite coller dans Word (2010)
l'un à la suite de l'autre.

je cherche donc à copier les lignes qui contiènnent le chiffre 21,22,23 ..... dans la première collonne (A) puis les coller dans word à un endrois précis ( par exemple à un signet ) ou meme l'un à la suite de l'autre. chaque groupe de ligne (Excel) contenant le chiffre 21 feras un tableau dans Word, idem pour le chiffre 22 et ainsi de suite.
De plus il faudrais que, si on modifie le document Excel (si on ajoute une ligne, modifie une ligne, supprime une ligne) les tableaux se mettent à jour dans word automatiquement.

j'ai déjàs commencer à coder dans Excel en vba :
Le code si dessous me permet de selectionner les lignes qui contiènnent le chiffre 21 dans la première collonne et de copier les ligne pour les collre à un signet dans word
Dans mon code il me manque la partie "mise à jour" puisque quand je relance ma macro il recolle le tableau dans l'autre dejas existant au lieu de "l'écraser".
( ma macro ne travaille que sur les lignes contenant le chiffre 21, sinon c'est trop compliquer pour moi, mais il faudras au final que la macro recherche les différents chiffre)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub copie_dans_word()
Dim oExcel As New Excel.Application
Dim PlageUtile As Range
Dim Ligne As Range
Dim Origine As Worksheet
Dim i As Integer
 
    'Créer une instance de word
Set oWord = CreateObject("Word.Application")
    'définition de l'origine dans Excel
Set Origine = Worksheets("num1")
    Set PlageUtile = Range(Origine.Cells(3, 1), Origine.Cells(1, 1).SpecialCells(xlLastCell))
 
'Copier une plage depuis Excel
For Each Ligne In PlageUtile.Rows
        If Ligne.Cells(1, 1).Value = "21" Then
            Ligne.Copy
'Ouvrir un nouveau document
 oWord.Documents.Open "C:\Users\admin\Documents\doc2.docx"
 
    'rendre le document word visible
    oWord.Visible = True
 
    'cherche le signet dans la feuille word
'oWord.Selection.Goto Name:="signet1"
 
  'Coller la plage dans Word
'oWord.Selection.PasteAndFormat (wdPasteDefault)
 
End If
Next
End Sub
Si quelqu'un avais une solution pour coller mes différents tableaux à différent signet ou l'un à la suite de l'autre, ( je préfèrerais la première solution qui est de coller à différent signet)