Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2011, 16h46   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 17
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 17
Points : 0
Points : 0
Par défaut macro pour découper un fichier pdf sous excel

Bonjour à tous,
actuellement je travaille sur une macro qui me permettrait de découper un fichier pdf (500 pages) en autant de fichier qu'il a de page, en renommant chaque fichier en fonction d'une valeur situé dans un tableau Excel.


j'ai alors ce code qui ne marche pas :
Code :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
 
Dim ligne As Long
ligne = 2
Dim i As Long
 
'fichier à ouvrir
 fichier= "D:\Documents and Settings\Bureau\test catalogue\test.pdf"
 
 'on précise où l'on va stocker le fichier créer
 chemin = "D:\Documents and Settings\Bureau\test catalogue\"
 
 
' a partir du fichier excel , on prend la valeur se trouvant sur la premiere colonne pour nommer le fichier ainsi creer
 
While ActiveSheet.Cells(ligne, 1).Value <> ""
 
'nom du fichier
NomPDF = left("Idée -" & ActiveSheet.Cells(ligne, 3).Value, Len("Idée -" & ActiveSheet.Cells(ligne, 4).Value) - 4) & ".pdf"
 
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
 
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
 
End If
 
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = chemin
.cOption("AutosaveFilename") = NomPDF
.cOption("AutosaveFormat") = 0 '0 pour pdf
.cClearCache
 
End With
 
i = ligne – 1
 
ActivePrinter = "PDFCreator sur Ne00:"
Application.PrintOut Filename:="", Range:=fichier, Item:= _
PrintDocumentContent, From:=i, To:=i, Copies:=1
 
Application.PrintOut
 
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultPrinter = DefaultPrinter
.cClearCache
.cClose
             End With
 
Wend
Quelqu'un pourrait il m'apporter son aide pour corriger et comprendre les erreurs commises ?

Merci

JB
jibdu94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 23h00   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Que fais ce bout de programme? Est-ce qu'il retourne une erreur?

Citation:
Envoyé par jibdu94
en renommant chaque fichier en fonction d'une valeur situé dans un tableau Excel.
Je suppose que tes valeurs sont situés à partir de la ligne 2 de ton tableau Excel et sur les lignes suivantes. Est-ce que tu actualises la valeur de ligne car j'ai l'impression que tu tournes en boucle.

Créer une instance de PdfCrator à chaque page n'est peut-être pas l'idéal. En plus il manque les libérations des objets.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h39.


 
 
 
 
Partenaires

Hébergement Web