Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sauvegarde impressions PDF :ActiveWorkbook marche pas

XCo

XLDnaute Occasionnel
Bonjour

j`ai un peitt pb VBA.
J`ai vu des macro pour imprimer en PDF et même sauvegarder sur un chemin defini les documents imprimes.

J`ai fait la macro ci-jointe basee sur un mix d`info (j`essai d`adapter, on ne se refait pas ) mais il me manque juste a sauvegarder les donnees a l`endroit que j`ai defini.

Par macro j`imprime 1 zone d`impression (format PDF) et j`essaie de sauvegarder sur le chemin « Reportoire ».
Mais le code 'ActiveWindow.SaveAs Filename:=repertoire" ne me permet pas de sauvegarder le PDF
Pour sauvegarder un file excel le code est : "ActiveWorkbook.SaveAs Filename:=repertoire" avec Repertoire = chemin que j`ai defini ds cellule particuliere

quel est le code pour PDF versus Excel?
ACTIVEWORKBOOK doit etre remplace par ???
C`ets la mon probleme – ci-joint un file + concret peut etre et le code



Private Sub CommandButton1_Click()

chemin = Range("i1").Value
zone1 = Range("i2").Value
repertoire = TextBox1.Value

ActiveSheet.PageSetup.PrintArea = zone1

Application.ActivePrinter = "Adobe PDF on Ne05:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Adobe PDF on Ne05:", Collate:=True
'ActiveWindow.SaveAs Filename:=repertoire
'##ca marche pas ce code - pourtant ss Excel le code suivant marche _
ActiveWorkbook.SaveAs Filename:=repertoire _
Je mets quoi a la place d`ACTIVEWORKBOOK?


End Sub


merci pour votre aide sur ce point

XCo
 

Pièces jointes

  • test impression.xls
    38.5 KB · Affichages: 91
  • test impression.xls
    38.5 KB · Affichages: 90
  • test impression.xls
    38.5 KB · Affichages: 88

PMO2

XLDnaute Accro
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

Bonjour,

Une solution avec le code suivant à copier dans la fenêtre de code du UserForm (et qui remplace le code existant)
Code:
Private Sub CommandButton1_Click()
Dim PDF As Object 'clsPDFCreator
Dim A$
Dim chemin$
Dim fichier$
Dim DefaultPrinter$
On Error GoTo Erreur
DefaultPrinter$ = Application.ActivePrinter
Set PDF = CreateObject("PDFCreator.clsPDFCreator")
If PDF.cStart("/NoProcessingAtStartup") = False Then
  MsgBox "PDFCreator n'a pu être chargé."
  Exit Sub
End If
ActiveSheet.PageSetup.PrintArea = Range("i2").Value
A$ = TextBox1.Value
chemin$ = Mid(A$, 1, InStrRev(A$, "\"))
fichier$ = Mid(A$, Len(chemin$) + 1)
GoSub printPDF
ActiveSheet.PageSetup.PrintArea = Range("i3").Value
A$ = TextBox3.Value
chemin$ = Mid(A$, 1, InStrRev(A$, "\"))
fichier$ = Mid(A$, Len(chemin$) + 1)
GoSub printPDF
Erreur:
On Error Resume Next
ActiveSheet.PageSetup.PrintArea = False
PDF.cClose
Set PDF = Nothing
Application.ActivePrinter = DefaultPrinter
Exit Sub
printPDF:
With PDF
  .cOption("UseAutosave") = 1
  .cOption("UseAutosaveDirectory") = 1
  .cOption("AutosaveDirectory") = chemin$
  .cOption("AutosaveFilename") = fichier$
  .cOption("AutosaveFormat") = 0
  .cClearCache
  ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
  Do Until .cCountOfPrintjobs > 0
    DoEvents
  Loop
  .cPrinterStop = False
  Do Until .cCountOfPrintjobs = 0
    DoEvents
  Loop
  .cDefaultPrinter = DefaultPrinter
  .cClearCache
End With
Return
End Sub

Private Sub CommandButton2_Click()
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
With Me
  .TextBox1.Value = ""
  .TextBox3.Value = ""
  .TextBox1.Value = Range("i1")
  .TextBox3.Value = Range("j1")
End With
End Sub

Cordialement.

PMO
Patrick Morange
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

bonsoir,
je vous remercie tout d`abord pour votre aide.
je vais tester cela demain au boulot car chez moi j`ai un message

run time error91 sur la partie PDF Cclose

ActiveSheet.PageSetup.PrintArea = False
PDF.cClose

bref je vais tester au boulot car chez moi j`ai pas tous les logiciels donc ceci doit expliquer cela.

bonne soiree donc et a demain..je mets les bieres au frais !

XCo
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

bonjour,
j`espere que ca va bien.

ben oui ca bloque aussi au bureau au niveau de "PDF cClose"

je dois selectionne des parametres en options?
ca marche chez vous si vous testez?

Je vous remercie

XCo
 

PMO2

XLDnaute Accro
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

Bonjour,

Cela fonctionne chez moi.

Essayez de remplacer
Code:
.cClose

par

Code:
.cCloseRunningSession

Est-ce mieux ?

Cordialement.

PMO
Patrick Morange
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

Bonjour Patrick,

je te remercie
j`ai essaye et ca ne change rien.

je pense que ca vient de mon ordi:
- je suis en reseau (imprimantes en reseau)
- j`ai acrobate Professional 8
si je vais ds programme, j`ai aussi adobe acrobat Distiller 8 mais quand je l`ouvre (je clique), ca m`ouvre un userform adobe distiller mais rien de plus.

bref dois je mettre acrobate distiller comme "Imprimante par defaut"?
est ce que parce que j`ai acrobate professionnel ca cree un bugue ou du moins acrobate prof + puissant que Distiller donc faut que je fasse une macro basee sur Acrobat prof?

j`avoue que je vois pas ou ca bloque

merci

XCo
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

salut kiki29,

le 29, c`est la taille ?


je suis justement en train de regarder le lien que tu m`as colle.
je te remercie.

je regarde et te tiens au courant.

merci

XCo
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

Ben me revoila


regardez le module 2 pas le 1
Bon j`ai mis la macro ci-jointe (voir file) avec l`username car je suis en reseau
Je pense que la macro ne trouve pas le printer alors voila ce que j`ai fait pour trouver le nom du réseau


J`ai été ds properties des printers
J`ai sélectionné Adob printer

Voila les info que j`ai :
Port : My Documents\*.pdf
Description :adob PDF
Printer : Adob PDF


Voila le code que j`ai modifie pour la reconnaissance du printer

MODULE 2

Private Function Imprimante_AdobePDF() As Boolean
Dim i As Long
' 21 imprimantes réseau
Imprimante_AdobePDF = False
For i = 0 To 20
If i < 20 Then
sNomPortReseau = "My Documents\*.pdf" & i & ":"
Else
sNomPortReseau = "My Documents\*.pdf" & i & ":"
'sNomPortReseau = "Adobe PDF" & i & ":"
End If
On Error Resume Next
Application.ActivePrinter = sNomPortReseau
If ActivePrinter = sNomPortReseau Then
Imprimante_AdobePDF = True
Exit For
End If
Next i
End Function


C`est pas bon ?

La partie & i & ":" sert a quoi techniquement?

Pouvez vous me dire si le code suivant marche chez vous ?
Si oui, a ce moment la je vais voir l`IT !


Merci a vous pour toute l`aide

note: sachez que sur l`userform, si je clique print, la macro trouve le PDF, l`ouvre et tout...sauf la sauvegarde qui ne se fait pas selon le chemin que j`ai defini ds la cellule ds ma feuille.
bref pourquoi d`un cote je trouve le printer et pas de l`autre?


XCo
 

Pièces jointes

  • test impression.zip
    19.3 KB · Affichages: 36
  • test impression.zip
    19.3 KB · Affichages: 38
  • test impression.zip
    19.3 KB · Affichages: 40

kiki29

XLDnaute Barbatruc
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

Re, modifier Imprimante_AdobePDF comme suit
Code:
Private Function Imprimante_AdobePDF() As Boolean
Dim i As Long
    ' 21 imprimantes réseau
    Imprimante_AdobePDF = False
    For i = 0 To 20
        If i < 10 Then
            sNomPortReseau = "Adobe PDF sur Ne0" & i & ":"
        Else
            sNomPortReseau = "Adobe PDF sur Ne" & i & ":"
        End If
        On Error Resume Next
        Application.ActivePrinter = sNomPortReseau
        If ActivePrinter = sNomPortReseau Then
            Imprimante_AdobePDF = True
            Exit For
        End If
    Next i
End Function

voir également http://support.microsoft.com/kb/166008/en-us pour obtenir la liste des imprimantes locales et réseau
 
Dernière édition:

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

salut kiki29,

je te remercie.
je teste cela des demain matin.

merci bcp.

je te souhaite une bonne journee et a demain

XCo
 

XCo

XLDnaute Occasionnel
Re : sauvegarde impressions PDF :ActiveWorkbook marche pas

re-

j`ai installe PDF Creator (c`est gratuit il semble!) et la macro de PMO2 marche parfaitement

je l`ai mis sur le fichier joint
tout marche sauf que la mise en page (differente sur chaque feuille) saute quand j`imprime en PDF avec la macro.

il y a t`il une solution?
le saut de page doit se faire en ligne 50 comme explique ds le file joint.

apres cela, mon projet est termine!!
merci a vous pour le coup de main.

XCo
 

Pièces jointes

  • Impression zone PDF3.zip
    18.6 KB · Affichages: 50

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…