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 :
Quelqu'un aurait il une idée d'où vient le problème (param_quantite = 1 ou 2)Erreur d'execution '5148'
Le nombre doit être compris entre -32765 et 32767
D'avance merci!
Code vb : 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
36
37
38
39
40
41
42
43 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
Partager