Macro pour imprimer certaines feuilles excel

oxygo

XLDnaute Nouveau
Bonjour à tous,

Me revoila sur votre super forum pour vous solliciter un petit coup...

Voici mon problème, j'ai un fichier excel avec plusieurs feuilles.
J'ai fais un sommaire au début avec le nom des feuilles sous la forme d'un tableau. J'indique dans un colonne Oui ou Non pour signaler la présence des feuilles lors de l'impression.

Je voudrais faire une macro qui justement :
- Me lance une impression des feuilles où j'ai indiqué "Oui" dans la colonne présence
- La même chose mais en PDF avec un seul PDF pour l'ensemble des feuilles sélectionnées en Oui. (PDF creator)

J'ai commencé à travaillé mon VBA pour la deuxième option :

Sub ImprimerPDF()
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
NomExcel = ThisWorkbook.Name
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & ".pdf"
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutisaveDirectory") = 1
.cOption("AutosaveDirectory") = ThisWorkbook.Path
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
Dim i As Integer
Dim nom As String
For i = 10 To 38
If ActiveSheet.Cells(i, "G") = "Oui" Then
nom = ActiveSheet.Cells(i, "C")
Sheets(nom).PrintOut copies:=1, ActivePrinter:="PDFCreator"
End If
Next i


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
Set pdfjob = Nothing

End Sub


Cette VBA me permet d'enregistrer un PDF ayant le même nom que mon classeur, enregistré au même endroit que le classeur mais le soucis il ne fait que la dernière feuille où j'ai mis oui, il ne les cumule pas.

Une petite aide SVP ?

Merci
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
447

Statistiques des forums

Discussions
311 711
Messages
2 081 796
Membres
101 817
dernier inscrit
carvajal