Macro Excel, insérer document dans un nouveau doc Word

Re bonjour à tous,

Je suis en train de créer une macro vba qui créée un document word dans lequel doivent s'insérer des documents word au nom dynamique.

Voici une partie du code que j'ai écrit

With appWord.ActiveDocument.Paragraphs(1)
        .Range.Font.Size = 14
        .Format.Alignment = wdAlignParagraphCenter
        .Range.Font.Bold = True
        .SpaceAfter = 10
        .Range.Text = "Voici mon document Word" & vbCrLf
    End With

    For i = 1 To 33    'Données récupérées dans le tableur Excel
        If Cells(i, 4).Value = 1 Then      'vérifier une condition, si elle est validée, il faut insérer un fichier au nom dynamique

                Selection.EndOf Unit:=wdStory, Extend:=wdMove
                Selection.Collapse Direction:=wdCollapseEnd
               'Selection.InsertFile Filename:=Chemin

         End If
    Next

J'ai une erreur qui s'affiche : propriété ou méthode non gérée par cet objet.

C'est la partie Selection qui créée une erreur.

J'aimerais bien pouvoir insérer le fichier au curseur, en l'ayant bien mis à la fin.

Je me demande si ce n'est pas un problème de passage entre Excel et Word. Dans la boucle For, le programme est dans Excel alors que dans le If, je veux qu'il soit dans Word.

Avez-vous une idée à me soumettre ?

Je vous remercie d'avance pour votre aide

Bonjour

Merci de nous donner le fichier ou le code entier SVP

A+

Sub rapportAuto()

    Dim AF As String
    Dim NumPC, NbMalfa As Integer
    Dim Check As Boolean
    Dim Chemin As String
    Dim NomFichier As String
    Dim TypeRapport As String
    Dim DocWord As Word.Document
    Dim appWord As Word.Application

    Set appWord = New Word.Application
    appWord.Visible = True
    Set DocWord = appWord.Documents.Add

    NomFichier = "tps.1"   'normalement c'est un nom dynamique mais pour démarrer je mets un fichier unique

    TypeRapport = Range("H1").Value    'Partie du code inutile à commenter ici, c'est juste pour récupérer une info qui change le chemin d'accès du fichier à insérer
    If TypeRapport = "Assistance" Then
        Chemin = Range("M1").Value
        ElseIf TypeRapport = "Expertise" Then
            Chemin = Range("M2").Value
        Else
            MsgBox ("il y a une erreur en H1, veuillez indiquer le type de rapport à générer")
    End If

    AF = 25
    With appWord.ActiveDocument.Paragraphs(1)
        .Range.Font.Size = 14
        .Format.Alignment = wdAlignParagraphCenter
        .Range.Font.Bold = True
        .SpaceAfter = 10
        .Range.Text = "Voici le doc word créé" & vbCrLf
    End With

    For i = 1 To 33
        If Cells(i, 4).Value = 1 Then
        ' c'est ici que j'essaye mainte et mainte chose
            With appWord.ActiveDocument.Paragraphs.Last
                .Range.Select
             ' .Selection.Cut
            End With
            With Selection

 .Paste

 .EndOf Unit:=wdStory, Extend:=wdMove
                Selection.Collapse Direction:=wdCollapseEnd
                Selection.InsertFile Filename:=Chemin
End With

           ' End With

            NbMalfa = NbMalfa + 1   'inutile ici, ce sera traité plus tard
        End If
    Next

End Sub

J'ai trouvé ma réponse

docWord.GoTo what:=wdGoToSection, which:=wdGoToFirst
docWord.Characters.Last.Select
docWord.ActiveWindow.Selection.InsertBreak Type:=wdPageBreak
docWord.ActiveWindow.Selection.InsertFile Filename:=Chemin, ConfirmConversions:=False, link:=False

Bonjour JHendrix, BrunoM45,

Super, j'ai pas besoin de chercher. Tu as plus d'une corde à...

ta guitare bien sûr.

Et comme cela peut servir à d'autres. Je te donne un vote

Rechercher des sujets similaires à "macro inserer document nouveau doc word"