Salut Abertaud,
Déja merci pour ton aide car en trouver sur ce sujet est vraiment pas faicile pour moi
J'ai repris avec ces poits ci dessus mais ca n'a pas fonctionné. A force de lire sur les forum je pense que c'est du au fait que dans ma procédure a moi je n'ai pas d'objet PDF creator. J'ai assayer de le faire en calquant sur le code recupérer dans le site anglais et en modifiant comme tu as dit mais j'ai des erreurs:Citation:
Envoyé par abertaud
En commentaire en blue le code d'origine et en rouge c'est le modifié
Ca me retourne ici comme erreur qu'un composant Activex ne peut créer un objet PDFcreator et ca ne reconnais le Exit pres de Sub. Que faire donc pour le créer ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Set myPDFCreator = CreateObject("clsPDFCreator") 'Set myPDFCreator = New PDFCreator.clsPDFCreator With myPDFCreator If .cStart("/NoProcessingAtStartup") = False Then MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator" Exit Sub End If .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = theFileRoot .cOption("AutosaveFilename") = outName .cOption("AutosaveFormat") = 0 ' 0 = PDF .cClearCache End With
Ci dessous tu as le bout de code qui changera le nom du document a imprimer
Je ne sais pas par quoi changer ces deux en rouge:Code:
1
2
3
4
5
6 outName = Left('outName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "-" _ '& Application.ActiveSheet.Name & "-" _ '& Format((Now), "HHNN-SS") & Format((Timer() * 100) Mod 100, "00") & ".PDF" , Len(ActiveWorkbook.Name) - 4) & "-" _ & Application.ActiveSheet.Name & "-" _ & Format((Now), "HHNN-SS") & Format((Timer() * 100) Mod 100, "00") & ".PDF"
Pour ActiveWorkbook.Name je vais assayer avec WScript.ScriptFullName ou WScript.ScriptName comme tu as dit mais pour Application.ActiveSheet.Name je ne sais pas trop ????????? une proposition