Bonjour à tous.
Nouvel inscrit, je précise que je me débrouille en tant qu'utilisateur.
Merci par avance, d'adapter votre réponse à mon niveau débutant.
Mon objectif final idéal serait : pouvoir imprimer en 1 clic un pdf de 4 pages, correspondant à 4 plages de données d'un tableau Excel.
Un résultat satisfaisant serait : pouvoir imprimer en 1 clic 4 plages de données, dans 4 PDF différents (que je fusionnerai moi-même).
Les plages de données sont figées :
P3:U56 —— AA3:AF56 —— AL3:AQ56 —— AW3:BB56
J'ai trouvé (et adapté) un morceau de code pas trop mal pour l'impression en PDF :
Sub CommandButton2_Click()
Dim ws As Worksheet
Dim strPath As String
Dim myFile As Variant
Dim strFile As String
On Error GoTo errHandler
Set ws = ActiveSheet
strFile = Replace(Replace(ws.Name, " ", ""), ".", "_") _
& " " _
& Format(Now(), "yyyy.mm.dd\ hh'mm ") _
& ".pdf"
strFile = ThisWorkbook.Path & "\" & strFile
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strFile, _
FileFilter:="PDF Files (*.pdf), *.pdf", _
Title:="Select Folder and FileName to save")
If myFile <> "False" Then
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=myFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "fichier PDF créé"
End If
exitHandler:
Exit Sub
errHandler:
MsgBox "Could not create PDF file"
Resume exitHandler
End Sub
Donc concrètement, ce que je fais pour l'instant c'est :
> sélection 1ère plage de données
> Zone d'impression > Définir
> bouton de commande
> PDF n°1 créé
> sélection 2eme plage de données
> Zone d'impression > Définir
> bouton
> PDF n°2 ...
etc.
Auriez-vous des suggestions pour améliorer le code ? afin d'optimiser/simplifier ma démarche.
S'il est possible de traiter les 4 impressions PDF en 1 bouton de commande, ça serait nickel
(même si le nom du PDF n'est pas générer de la même façon ...)
Par avance, merci ...