Bonjour a tous,
Je vous expliques, j'ai un bouton avec un code qui me créer des PDF et l'enregistre sous un nom et répertoire défini automatiquement, de plus il y à une incrémentation automatique, V1,V2,V3....
Bref ce code marche très bien sur excel 2003, mais maintenant que je suis passé sur 2010 plus moyen de le faire tourner!!!
Pour info je ne suis pas calé en code VBA...et évidemment là je suis dépassé, donc si qq peut m'aider ca serait sympa?
Merci et voici le fameux code:
Je vous expliques, j'ai un bouton avec un code qui me créer des PDF et l'enregistre sous un nom et répertoire défini automatiquement, de plus il y à une incrémentation automatique, V1,V2,V3....
Bref ce code marche très bien sur excel 2003, mais maintenant que je suis passé sur 2010 plus moyen de le faire tourner!!!
Pour info je ne suis pas calé en code VBA...et évidemment là je suis dépassé, donc si qq peut m'aider ca serait sympa?
Merci et voici le fameux code:
Code:
Sub PdfCreator_contact()
Dim Chemin$, date_test$, NomFichier$, i&, JobPDF As Object
Dim VersionPDF As String, Version0 As Integer, Version1 As Integer
'Chemin = ThisWorkbook.Path & "\" ' pour tester
Chemin = "O:\DEV & Q PRODUITS\1 - DEVELOPPEMENT PRODUITS\Calculations prix\PDF généré\"
date_test = Format([N1], "dd.mm.yyyy")
Version0 = 0
VersionPDF = Dir(Chemin & [Q1] & "__" & [E1] & "__*V??.pdf")
Do While VersionPDF <> ""
Version1 = CInt(Left(Right(VersionPDF, 6), 2))
If Version1 > Version0 Then Version0 = Version1
VersionPDF = Dir
Loop
'incrémenter ou non la version de l'offre
'******
'Prévoir une cellule, par exemple Z1 qui contiendra 1 ou 0 si on veut ou non augmenter d'une version
Version0 = Version0 + Range("Z1").Value
NomFichier = [Q1] & "__" & [E1] & "__" & date_test & " V" & Format(Version0, "00") & ".pdf"
Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")
With JobPDF
.cStart "/NoProcessingAtStartup"
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = Chemin
.cOption("AutosaveFilename") = NomFichier
.cOption("AutosaveStartStandardProgram") = 1
.cOption("UpdateInterval") = 0
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until JobPDF.cCountOfPrintjobs = 1
DoEvents
Loop
JobPDF.cPrinterStop = False
Do Until JobPDF.cCountOfPrintjobs = 0
DoEvents
Loop
JobPDF.cClose
Set JobPDF = Nothing
End Sub