'vérifier que le fichier Excel est bien enregistré sur le bureau ou dans un dossier de ton ordinateur
Sub ZoneImpressionEnPdf()
End Sub
Dim ImprActuelle As String, NomFichier As String, ws As Worksheet
ImprActuelle = Application.ActivePrinter 'on stocke dans une variable le nom de l'imprimante actuelle
Application.ActivePrinter = "nom de l'imprimante" 'placer le nom de l'imprimante choisie
Set ws = Worksheets("Feuille A") 'la feuille
ws.PageSetup.PrintArea = "$B$2:$AA$59" ' les cellules
'fichier pdf placé dans au même endroit que ce fichier Excel
NomFichier = Range("ab2").Value ' don ici la cellule est juste à côter de la "z2"
'copie en pdf de la zone d'impression (IgnorePrintAreas:=False)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
NomFichier, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
'on replace l'imprimante initiale comme imprimante par défaut
Application.ActivePrinter = ImprActuelle
Option Explicit
Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const CaracInterdits As String = """*/:<>?[\]|"
NomFichierValide = True
If Len(sChaine) = 0 Then
NomFichierValide = False
Exit Function
End If
For i = 1 To Len(CaracInterdits)
If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
NomFichierValide = False
Exit Function
End If
Next i
End Function
End Function