Bonjour à tous,

Le contexte:
- un fichier Excel contenant le nom des salariés et les informations servant à générer leurs fiches de salaires
- un fichier Word qui génère le publipostage en utilisant le fichier Excel

Une fois le fichier de publipostage fait, il est enregistré en document Word.

J'ai besoin de pouvoir choisir la fiche de paie à imprimer.
J'ai fait un petit formulaire dans le fichier Excel qui récupère la liste des salariés et qui envoie au fichier Word le numéro de ligne (-1) comme numéro de page à imprimer.

J'espère être clair, voici le code:
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
33
34
35
Private Sub Imprimer_Click()
Dim dossier As String
Dim cible As Workbook
Dim Val1 As Variant
Dim lg
Dim lp
Dim chemin As String
Dim chemin_complet As String
Dim ficpaye As String
Dim oApp As Object
Dim Doc As Word.document
 
Val1 = LstAPS.Value
chemin = ThisWorkbook.Path
ficpaye = "Fiches de paie.docx"
chemin_complet = chemin & "\" & ficpaye
 
Set oApp = CreateObject("Word.Application")
Set Doc = GetObject(chemin_complet)
'Set Doc = oApp.documents.Open(chemin_complet)
oApp.Visible = False
 
Set cible = ThisWorkbook
dossier = Val1
    With cible.Worksheets("Salaires")
        lg = .Columns("A").Find(dossier, , xlValues, xlWhole).Row
        lp = lg - 1
    End With
 
  '  MsgBox lp
 
Doc.PrintOut Range:=wdPrintRangeOfPages, Pages:=CStr(lp) & "-" & CStr(lp)
'Doc.PrintOut copies:=1, Range:=wdPrintRangeOfPages, Pages:=lp & "-" & lp
 
End Sub
Malheureusement, le résultat n'est pas là. Selon le Printout utilisé, j'ai soit l'impression complète du fichier (1200 salariés...), soit une page blange ??
Erreur de syntaxe ? Mauvais code ?
Je tourne un peu en rond.

Merci de vos propositions ou conseils.

Cordialement,

Fred