Bonjour,
Sur la macro ci dessous me permettant depuis une base de données de faire l'impression de documents word en PDF, j'ai un problème lors de l'utilisation sur un autre poste (sur le mien, cela fonctionne très bien).
L'erreur rencontrée au début était sur les dernières lignes, me refusant l'export au prétexte d'un nom non valide (5 lignes avant la fin).
Maintenant, c'est à l'avant dernière ligne, Next i que cela me donne l'erreur Next without For...
Je ne comprends pas, il y a un For, pas de If nécessitant un End if et cela fonctionne sur mon poste...
D'autre part, mon fichier source excel contient xx lignes dont seuls 65 (par exemple) contiennent des infos pour éditer le document PDF. Du coup, la macro me loop de 66 à 125 par exemple et me fait des documents vides. Même si je peux facilement les identifier de par le nom créé, ça me bloque l'ordinateur pendant un temps plus long. Une idée de comment solutionner cela?
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
36
37
38
39 Sub PayslipEdition() Dim iR As Integer Dim i As Integer Dim oDoc As Document Dim DocName As String Dim oDS As MailMergeDataSource Set oDoc = ActiveDocument Set oDS = oDoc.MailMerge.DataSource iR = oDoc.MailMerge.DataSource.RecordCount Debug.Print iR For i = 1 To iR With oDoc.MailMerge .DataSource.FirstRecord = i .DataSource.LastRecord = i .Destination = wdSendToNewDocument .Execute .DataSource.ActiveRecord = i DocName = .DataSource.DataFields(2).Value Debug.Print DocName; i End With With ActiveDocument .ExportAsFixedFormat "C:\000 Payslips\" & DocName & " 06 JUN 2014.pdf", wdExportFormatPDF .Close False End With Next i End Sub
Merci d'avance de votre aide.
Ezeckiel.
Partager