Problème export Excel vers word

Bonjour ,

J'ai un ficher excel comportant x tableaux (x allant de 1 à 5). Je cherche à les exporter vers un document word via une boucle.

Quand je lance la boucle "1 To 1" cela fonctionne, sinon bug.

Auriez-vous une solution ?

Merci.

4aoper2.zip (11.13 Ko)
7aoper.xlsm (27.52 Ko)

Bonjour,

Voici un fichier démo.

Parmi des points divers, il y a du code pour remplir un doc avec un tableau dont le nb de lignes s'ajuste en fonction des besoins.

Le code est commenté.

Pierre

16creer-doc-word.xlsm (38.58 Ko)

Merci pierrep56, ça va m'aider à mettre en forme mes tableaux, mais ça ne résout pas mon problème de boucle

Le problème vient de la je pense : .CurrentRegion.Select

Dim WordApp As Object
    Dim WordDoc As Object
    Dim TBL As Integer

    NbMOIS_AOPER = Sheets("AOPER").Range("L" & Rows.Count).End(xlUp).Row

    If Sheets("AOPER").Range("L1").Value = "" Then
        Exit Sub
    Else
        Set WordApp = CreateObject("word.Application")
        Set WordDoc = WordApp.Documents.Open("C:\Users\benoi\Desktop\AOPER2.doc")
        WordApp.Visible = False

        For TBL = 1 To NbMOIS_AOPER
            If TBL > 1 And TBL < NbMOIS_AOPER Then
                Sheets("AOPER").Range("A1").CurrentRegion.Select
                Selection.Delete Shift:=xlUp
                Sheets("AOPER").Range("A1:H1").Delete
            End If

            With Worksheets("AOPER"): Set Mois = .Range("L" & TBL): End With
            Sheets("AOPER").Range("A1").CurrentRegion.Select
            With Worksheets("AOPER"): Set Plage = Selection: End With

            With WordDoc
                Mois.Copy
                .Bookmarks("MOIS_" & TBL).Range.PasteExcelTable False, False, False
                Plage.Copy
                .Bookmarks("TABLEAU_" & TBL).Range.PasteExcelTable False, False, False
            End With

        Next TBL
    End If

NOM_SAVE = "AOPER" & " " & Sheets("AOPER").Range("B2").Value & " " & Sheets("AOPER").Range("C2").Value

WordApp.ActiveDocument.SaveAs "C:\Users\benoi\Desktop\" & NOM_SAVE & ".doc"

WordDoc.Close True
WordApp.Quit

De façon générale, en Vba il est toujours mieux d'éviter les .select

Cf code de la démo proposée qui n'en utilise aucun, mais qui colle bien des données de la feuille excel dans un tableau d'un doc

=>.select c'est mal

Rechercher des sujets similaires à "probleme export word"