Comment utilisé code VBA Pour imprimer etat en PDF

Fermé
teckmicro2008 Messages postés 64 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 27 janvier 2017 - 14 nov. 2014 à 08:52
teckmicro2008 Messages postés 64 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 27 janvier 2017 - 19 nov. 2014 à 20:32
Bonjour,

récupérer ce code VBA pour PDF CREATOR ( état en PDF )
ou le placer dans Visual basic dans un module ?

ci-joint fichier pour me faire voir ?

https://www.cjoint.com/?3KoiWEgG3DI


Option Compare Database
Option Explicit

' Ne pas oublier de cocher la bibliothèqe PDFCreator
' dans le menu Outils / Références de Visual Basic Editor


c 'est fait !

' API Windows pour faire une temporisation en millisecondes
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

' Constantes pour les temporisations
Private Const maxTime = 10 ' en secondes
Private Const sleepTime = 250 ' en millisecondes

' ---
' IMPRESSION D'UN ETAT EN PDF
' ---
' Entrée : strReportName <- Nom de l'état à imprimer en PDF
' strWhere <- Clause WHERE filtrant l'état (facultatif)
' strPDFName <- Nom du fichier PDF à générer (facultatif)
' strDirectory <- Chemin de stockage du fichier PDF (facultatif)
'
Public Sub SaveAsPDF( _
ByVal strReportName As String, _
Optional ByVal strWhere As String = "", _
Optional ByVal strPDFName As String = "", _
Optional ByVal strDirectory As String = "")

' Quelques variables...
Dim pdfc As PDFCreator.clsPDFCreator
Dim DefaultPrinter As String
Dim c As Long
Dim OutputFilename As String

' Instancier un nouvel objet PDFCreator
Set pdfc = New clsPDFCreator

' Paramétrer l'objet PDFCreator
With pdfc
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1

' Chemin de destination
' Par défaut : dossier 'Mes documents' de l'utilisateur
If strDirectory = "" Then
strDirectory = Environ("USERPROFILE") & "Mes documents"
End If
.cOption("AutosaveDirectory") = strDirectory

' Nom du fichier PDF à générer
.cOption("AutosaveFilename") = _
IIf(strPDFName = "", strReportName, strPDFName)

' Format de sauvegarde (0 = PDF)
.cOption("AutosaveFormat") = 0

' Mémoriser l'imprimante par défaut
' et définir PDFCreator à la place
DefaultPrinter = .cDefaultPrinter
.cDefaultPrinter = "PDFCreator"
.cClearCache

' Imprimer l'état
DoCmd.OpenReport strReportName, acViewNormal, , strWhere
.cPrinterStop = False
End With

' Temporisation
c = 0
Do While (pdfc.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime))
c = c + 1
Sleep 200
Loop

' Nom du fichier PDF produit
OutputFilename = pdfc.cOutputFilename

' Réinstaller l'imprimante d'origine
With pdfc
.cDefaultPrinter = DefaultPrinter
Sleep 200
.cClose
End With

' Attendre jusqu'à ce que PDFCreator soit supprimé de la mémoire
Sleep 2000

' Vérifier si le fichier a été créé
If OutputFilename = "" Then
MsgBox "Création du fichier PDF." & vbCrLf & vbCrLf & _
"Une erreur s'est produite : temps écoulé !", vbExclamation + vbSystemModal
End If
End Sub


Sous Access 2003

comment utiliser la fonction avec la bouton dans le formulaire de saisie

exemple 1

La procédure SaveAsPDF peut recevoir jusqu'à 4 paramètres, dont seul le 1er est obligatoire (le nom de l'état). Voici un premier exemple de code pour tester tout ça :

Sub TestPDF01()
SaveAsPDF "rpt Clients"
End Sub

comment utiliser cette commande


Merci de votre aide pour l utilisation.




--
A voir également:

1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
14 nov. 2014 à 10:07
1
teckmicro2008 Messages postés 64 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 27 janvier 2017
18 nov. 2014 à 14:21
bonjour
je viens de télécharger votre fichier !
mais lorsque je clique sur bouton libre erreur
j 'ai du mal faire un truc !

cordialement
Merci
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
18 nov. 2014 à 15:15
Bonjour,

Quelle erreur ???????????
0
désoler je teste sur autre pc . je vous tiens au courant

merci

cd
0
teckmicro2008 Messages postés 64 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 27 janvier 2017
19 nov. 2014 à 10:11
bonjour

donc Access ouvre fenêtre et bug !

vous auriez pas autre solution ! plus simple

avec une macro ou on pourrais demander le non de fichier a enregistrer en PDF !

merci de votre aide et compétences !

Cordialement
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
19 nov. 2014 à 11:24
Re,

Access ouvre fenêtre et bug ! qu'avez-vous comme message ????????

on pourrais demander le non de fichier a enregistrer un etat access n'est pas un fichier.


Si vous mettiez votre fichier (celui que vous utilisez) a dispo ca serait un peu mieux. Vous pouvez passer par les MP (Messages Personnels), li n'aurait que nous deux a le voir
0