Imprimer un word avec publipostage depuis Excel (VBA)

Bonjour,

J'ai un problème dans mon code que je n'arrive pas à résoudre! (je ne suis pas un pro d'où le code certainement pas trop propre )

Je voudrais imprimer les 4 premières pages d'un enregistrement de mon fichier word mais le script reste bloqué sur la ligne "wordDoc.PrintOut...", le message d'erreur est :

Erreur d'execution '5148'

Quelqu'un aurait il une idée d'où vient le problème (param_quantite = 1 ou 2)

D'avance merci!

Private Sub ouvrir_word()
    Dim NomBase As String
    Dim Nom_word As String
    Dim wordApp As Object
    Dim wordDoc As Object
     Dim fichier_word As String
    fichier_word = ThisWorkbook.Sheets("Liste_deroulante").Range("G1").Value

    NomBase = ThisWorkbook.Path & "\" & ThisWorkbook.Name
    Nom_word = ThisWorkbook.Path & "\" & fichier_word

    Application.ScreenUpdating = False

    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = True
    wordApp.WordBasic.FilePrintSetup Printer:=imprimante, _
      DoNotSetAsSysDefault:=1
    'Ouverture du document principal Word
       Set wordDoc = wordApp.Documents.Open(Nom_word)

    'fonctionnalité de publipostage pour le document spécifié
    With wordDoc.MailMerge
        'Ouvre la base de données
        .OpenDataSource Name:=NomBase, _
            Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
            "DBQ=" & NomBase & "; ReadOnly=True;", _
            SQLStatement:="SELECT * FROM [BDD_entretien$]"
            '.DataSource.ActiveRecord = i - 1
            .DataSource.firstRecord = i - 1
            .DataSource.lastRecord = i - 1
            .ViewMailMergeFieldCodes = wdToggle

            wordDoc.PrintOut , Background:=True, Copies:=param_quantite, Range:=wdPrintFromTo, from:=1, to:=4

    End With

    'Fermeture du document Word
    On Error GoTo dejaferme
    wordApp.Documents.Close False
    On Error GoTo dejaferme
    wordApp.Quit
dejaferme:
End Sub

J'ai trouvé ma solution!

désolé du dérangement!

Private Sub ouvrir_word()
    'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
    Dim NomBase As String
    Dim Nom_word As String
    Dim wordApp As Object
    Dim wordDoc As Object
     Dim fichier_word As String
    fichier_word = ThisWorkbook.Sheets("Liste_deroulante").Range("G1").Value

    NomBase = ThisWorkbook.Path & "\" & ThisWorkbook.Name
    Nom_word = ThisWorkbook.Path & "\" & fichier_word

    Application.ScreenUpdating = False

    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = True
    wordApp.WordBasic.FilePrintSetup Printer:=imprimante, _
      DoNotSetAsSysDefault:=1
    'Ouverture du document principal Word
       Set wordDoc = wordApp.Documents.Open(Nom_word)

    'fonctionnalité de publipostage pour le document spécifié
    With wordDoc.MailMerge
        'Ouvre la base de données
        .OpenDataSource Name:=NomBase, _
            Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
            "DBQ=" & NomBase & "; ReadOnly=True;", _
            SQLStatement:="SELECT * FROM [BDD_entretien$]"
            .DataSource.ActiveRecord = i - 1
            .ViewMailMergeFieldCodes = wdToggle

             wordDoc.PrintOut Copies:=param_quantite, Range:=3, From:="p1s1", To:="p" & (5 - param_imprimer) & "s1"
    End With

    'Fermeture du document Word
    On Error GoTo dejaferme
    wordApp.Documents.Close False
    On Error GoTo dejaferme
    wordApp.Quit
dejaferme:
End Sub
Rechercher des sujets similaires à "imprimer word publipostage vba"