XL 2013 Imprimer PDF avec date et nom autmatique

mix770

XLDnaute Impliqué
Bonjour le forum,

j'ai une macro pour imprimer en PDF en prenant en compte le Nb de pages automatiquement qui fonctionne très bien.

Sub Imprim_PDF_CRH() ' Impression PDF liste
'Dim DerLig As Long
Dim Chemin As String, NomFichier As String
NomFichier = Range("C9").Value & "_" & Format(Date, "dd_mm_yyyy")
DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row

ActiveSheet.PageSetup.PrintArea = "A1:h" & DerLig

ActiveSheet.PrintOut
End Sub


j'ai essayé d'y intégrer un nom et date d'édition et la je cagouille !!

en fait je souhaiterai qu'il intègre le nom qui se trouve sur "c:9" et la date d'impression.


avez vous une piste ?
merci à vous
 

mix770

XLDnaute Impliqué
Bonjour Phil69970,

merci à toi, j'ai testé ça ne le nomme pas, je regarde pourquoi


Sub Imprim_PDF_CRH() ' Impression PDF liste
'Dim DerLig As Long
Dim Chemin As String, NomFichier As String
NomFichier = Range("C9").Value & " - " & Format(Date, "yyyy-mm-dd")
DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row

ActiveSheet.PageSetup.PrintArea = "A1:h" & DerLig

ActiveSheet.PrintOut
End Sub
 

Phil69970

XLDnaute Barbatruc
Voici ton fichier :
Attention :
Le fichier va s'enregistrer en pdf dans le dossier ou se trouve ton fichier excel (TEST impression PDF V1)

Si tu veux l'enregistrer dans un dossier particulier exemple :
==>La ou se trouve ton fichier excel\PDF\Absence\
2)il te faudra créer 2 repertoires sur ton PC :
un PDF et un autre Absence
et modifier la ligne :
Chemin = ActiveWorkbook.Path & "\
par la ligne :
Chemin = ActiveWorkbook.Path & "\PDF\Absence\"

Libre à toi de mettre autre chose.

Et bien sur après il lance l'impression du fichier

@Phil69970
 

Pièces jointes

  • TEST impression PDF V1.xlsm
    32.6 KB · Affichages: 13
Dernière édition:

mix770

XLDnaute Impliqué
Phil69970,

c'est super cela marche très bien, juste un petit problème, sur ma macro elle prenait en compte la taille du tableau (qui peut être sur plusieurs pages en fonction des éléments) et donc imprimait jusqu'à la dernière ligne.
est possible de rajouter cela, j'ai vu qu'il prenait en compte la largeur.

je pense que cela se passe là
With Sh1.PageSetup
DerLig = Range("C" & Rows.Count).End(xlUp).Row
.PrintArea = "$A$1:$H$" & DerLig '+ 2
.FitToPagesWide = 1 'Contrôle la largeur de la page

merci à toi
 

Discussions similaires

Réponses
14
Affichages
377
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 098
Messages
2 085 265
Membres
102 844
dernier inscrit
atori2