Imprim et Export PDF Certains onglets
bonjour,
pourriez vous m'aider car je ne suis pas très doué en VBA...
Voila j'aimerai imprimer certain onglet de mon classeur mais pas tous et je voudrais également exporter certain onglet en PDF mais choisir le dossier de destination au moment de l'export, merci de votre aide
ci-joint avec un fichier c'est mieux...
Bonjour,
Pouvez-vous donner le chemin, le nom des onglets à imprimer/exporter, les conditions d'export, et préciser s'il vous faut 1 pdf par onglet ou 1 seul pdf ?
Merci,
bonjour,
voir dans ma pièce jointe les onglets que je veux imprimer ou exporter
merci d'avance
En fait, il y a plusieurs façons de procéder donc vos explications "détaillées" ne permettent pas de savoir ce que vous voulez.
J'ai fait ce qui me semblait bien compte tenu de la demande, avec un tableau dans lequel il faut mettre des V pour stipuler qu'on souhaite imprimer ou exporter. Voici le code :
Option Base 1
Sub ListerFeuilles()
Application.ScreenUpdating = False
With Range("Impr")
.ClearContents
.Delete
.Interior.Color = -1
End With
Application.ScreenUpdating = True
For i = 1 To Sheets.Count
Range("Impr[Nom]")(i) = Sheets(i).Name
Next
End Sub
Sub Executer()
Call imprimer
Call exportglobal
Call ExportIndiv
End Sub
Sub imprimer()
On Error GoTo fin
For i = 1 To Range("Impr").Rows.Count
If Range("Impr[Imprimer]")(i) = "V" Then
Sheets(Range("Impr[Nom]")(i).Value).PrintOut
End If
Next
Exit Sub
fin:
MsgBox "Vérifiez que l'imprimante par défaut est active", vbCritical, "Echec de l'impression"
End Sub
Sub exportglobal()
Dim liste()
For i = 1 To Range("Impr").Rows.Count
If Range("Impr[PDFGlobal]")(i) = "V" Then
n = n + 1: ReDim Preserve liste(n)
liste(n) = Range("Impr[Nom]")(i)
End If
Next
If n = 0 Then Exit Sub
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
.Title = "Choisissez le dossier de destination de l'export"
If .SelectedItems.Count > 0 Then
dossier = .SelectedItems(.SelectedItems.Count)
chemin = dossier & "\" & "BLA BLA " & Format(Now, "YYMMDD") & ".pdf"
Else
MsgBox "Export PDF annulé", vbCritical, "Echec de la procédure"
Exit Sub
End If
End With
Sheets(liste).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin, ignoreprintareas:=False
Sheets(1).Select
End Sub
Sub ExportIndiv()
For i = 1 To Range("Impr").Rows.Count
If Range("Impr[PDFIndiv]")(i) = "V" Then
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
.Title = "Choisissez le dossier de destination de l'export"
If .SelectedItems.Count > 0 Then
dossier = .SelectedItems(.SelectedItems.Count)
chemin = dossier & "\" & Range("Impr[Nom]")(i) & " " & Format(Now, "YYMMDD") & ".pdf"
Range("Impr[PDFIndiv]")(i).Interior.Color = RGB(0, 255, 0)
Else
MsgBox "Export PDF annulé", vbCritical, "Echec de la procédure"
Range("Impr[PDFIndiv]")(i).Interior.Color = 255
End If
End With
Sheets(Range("Impr[Nom]")(i).Value).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin, ignoreprintareas:=False
End If
Next
End Sub
Et le fichier :
je penses que je me suis mal exprimer désolé...
ho faite dans mon fichier il y a des boutons et par exemple pour le premier bouton juste en cliquant dessus on imprime directement tous les onglets sauf la feuil4
idem pour exporter en PDF