Enregistrer sous PDF avec comme nom les données d'une cellule

Bonjour à tous,

J'ai beaucoup cherché, testé des macros mais je n'y arrive toujours pas, je vous demande donc de l'aide. Je souhaite enregistrer une plage de cellule A1 à N131 de la feuille active en PDF, avec comme nom de fichier les infos de la cellule Y15 dans le dossier Z:\fabrication\Sauvegarde Fiches de Fabrications. Pouvez vous m'aider à créer la macro svp?

Bonne journée

Anaïs

Bonjour

Fred

Sinon voici une proposition sans avoir fait d'essai

Sub imprime()
ActiveSheet.PageSetup.PrintArea = Range("A1:N131")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Z:\fabrication\Sauvegarde Fiches de Fabrications\" & [Y15] & ".pdf"
End Sub

Fred

Bonjour, merci pour votre accueil.

Le code donné ne fonctionne pas, il mets une erreur sur la ligne ActiveSheet.PageSetup.PrintArea = Range("A1:N131").

Je ne peux joindre le fichier car il est confidentiel.

Bonjour,

Remplace par :

ActiveSheet.PageSetup.PrintArea = "A1:N131"

oui en effet...

ma mémoire ma fait défaut sur le coup là...

Merci JoyeuxNoel

Fred

^-^

j'ai une erreur sur la ligne ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Z:\fabrication\Sauvegarde Fiches de Fabrications\" & [Y15] & ".pdf".

ma cellule Y15 est une formule : =G3&" du "&TEXTE(L3;"JJ/MM/AAAA") & " " &Y18. est-ce que ça peut être le problème?

Je ne te voyais pas en ligne, donc je me suis permis d'intervenir.

Après, c'est facile avec l'ordi sous le nez pour tester :D

Pas de soucis... je n'ai pas le monopole....

EDIT :

Pour anais... oui cela pose problème... quand on met une date.. le séparateur basique est le "\" hors pour windows le "\" est le séparateur pour les dossiers.. comme ici "Z:\fabrication\Sauvegarde Fiches de Fabrications\"

donc le "/" est un caractère interdit dans les noms de fichiers

a remplacer par des - ou _ ou rien aussi...

Fred

Et joyeuses pâques ^-^

j'ai une erreur sur la ligne ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Z:\fabrication\Sauvegarde Fiches de Fabrications\" & [Y15] & ".pdf".

ma cellule Y15 est une formule : =G3&" du "&TEXTE(L3;"JJ/MM/AAAA") & " " &Y18. est-ce que ça peut être le problème?

T'as déjà essayé d'enregistrer des fichiers avec des slashs dans le nom ?

À un moment, quand les gens qui prennent du temps à bosser à ta place demandent un peu plus d'infos, c'est pas pour rien non plus.
Un fichier top secret comme le tien doit quand même pouvoir être anonymisé en pas longtemps ;)

Ça doit donner un truc du genre.

"Z:\fabrication\Sauvegarde Fiches de Fabrications\" & replace(cells(3,"y"),"/","_") & ".pdf"

Mon tour..... petite erreur

"Z:\fabrication\Sauvegarde Fiches de Fabrications\" & replace(cells(3,"y"),"/","_") & ".pdf"

comme Anais travail avec Y15 cela serait plutôt

"Z:\fabrication\Sauvegarde Fiches de Fabrications\" & replace(cells(15,"y"),"/","_") & ".pdf"

Fred

Je m'étais même planté de fonction. J'ai édité. Tu peux reéditer, stp? :D

(tu vois, Anaïs, c'qu'il faut pas faire quand il n'y a pas de fichier ? )

Y'a pas de virgule juste avant la fermeture de la parenthèse, du coup ^^

(sinon on va encore se faire enguirlander parce que ça ne marche pas )

Je viens de m'en rendre compte de cette erreur.. j'ai modifié la cellule Y15. La macro fonctionne mais il y a un petit soucis de mise en page. Ma zone à enregistrer occupe 4 pages, est-il possible de faire en sorte que la macro fasse une mise en page en ajustant toutes les lignes à une page?

et tu penses y voir encore quelque chose si 4 pages sont compressées en 1 ?

Dans ce cas... pour faire une impression du tout sur une seule page..

il faut mettre avant l'impression

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

si c'est une page en hauteur et autant que Excel veut en largeur

With ActiveSheet.PageSetup        
.FitToPagesWide = False
.FitToPagesTall = 1
End With

Fred

Génial!!! c'est excellent merci beaucoup!!

Si ce n'est pas trop demandé et compliqué, on pourrait rajouter sur la feuille excel à coté de mon objet ayant la macro d'impression une note disant "Enregistré en pdf le ...."

Si tu veux écrire cela en C1 :

Range("C1") = "Joyeuses Pâques le " & date

Euh.... certainement possible... mais

avec écrit à la main ce que tu souhaite et surtout l'emplacement

Fred

Sub imprime()

ActiveSheet.PageSetup.PrintArea = "A1:N131"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Z:\fabrication\Sauvegarde Fiches de Fabrications\" & [Y15] & ".pdf"

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

Range("H144") = "Archivé en PDF le " & Date

End Sub

Je l'ai placé a cet endroit mais il y a un beug... merci pour votre aide en tout cas j'aurais passé des jours et des jours à faire ça

Rechercher des sujets similaires à "enregistrer pdf comme nom donnees"