Sauvegarder une plage Excel au format PDF

Bonjours Chers tous

Je travaille sur un Fichier-Facture et j'aimerais sauvegarder a chaque validation une copie de la facture au format PDF dans un dossier Factures qui sera situé au même emplacement que mon Fichier source.

La copie de sauvegarde doit avoir pour nom "Date-Client-N° Facture"

43exple.xlsm (24.31 Ko)

Ci- joint le Fichier en question.

Merci A tous!

Bonjour,

Quel est la plage à sauvegarder ?

re.,

voici un exemple pour la première plage,

Sub Valider1()
chemin = ThisWorkbook.Path & Application.PathSeparator
fichier = Range("C5") & "-" & Range("D2") & "-" & Range("E5") '"Date-Client-N° Facture"
ActiveSheet.PageSetup.PrintArea = Range("B2:E29").Address

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & fichier, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Salut sabV

Merci pour votre réponse

J'ai essayé mais je tombe sur Débogage

Je pense que si j'explique mieux on aura bonne issue:

La feuille contient deux Factures

  • "B2:E29" Filtrée avec le bouton Valider 1 et cette plage Filtrée et sélectionnée doit être Sauvegardée au besoin avec le bouton Save 1
  • "G2:J29"Filtrée avec le bouton Valider 2 et cette plage Filtrée et sélectionnée doit être Sauvegardée au besoin avec le bouton Save 2
  • Les Sauvegardes au format PDF doivent être enregistrées dans un dossier "Facture" qui sera au même emplacement que le Fichier Source
15exple-nv.xlsm (26.79 Ko)

Bonjour,

J'ai essayé mais je tombe sur Débogage

sur quel ligne ?

quel est le message d'erreur ?

Le debogage est a ce niveau

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

chemin & fichier, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Bonjour,

J'ai mis les deux macro ensemble, filtre et sauvegarde

57ktm-exple.xlsm (23.34 Ko)

dit moi si ça va ?

Le Filtre marche mais le problème de débogage persiste toujours au niveau du code :

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

chemin & fichier, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Bonjour,

je ne comprend pas pourquoi, tu est bien sur un pc et non mac ?

Bonjour,

Le nom du fichier n'est pas valide.

il doit être modifié ainsi :

fichier = Format(Range("C5"), "yyyymmdd") & "-" & Range("D2") & "-" & Range("E5")

Cdlt.

Bonjour KTM, Jean-Eric ,

ok je comprend mieux, le séparateur de date sur mon pc est le tiret, c'est pourquoi je n'avais pas ce problème.

merci Jean-Eric pour cette précision.

Ca marche

Le code pour sauvegarder est donc:

Dim chemin As String

Dim fichier As String

chemin = ThisWorkbook.Path & Application.PathSeparator

fichier = Format(Range("C5"), "yyyymmdd") & "-" & Range("D2") & "-" & Range("E5")

ActiveSheet.PageSetup.PrintArea = Range("B2:E29").Address

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

chemin & fichier, Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Le Dernier reglage qui reste est :

Comment creer automatiquement un Sous-Dossier "Factures" qui va contenir ces PDF

On y est presque!! Merci

Bonjour,

pour créer un répertoire ou un sous répertoire,

MkDir "c:\MONREP"
Rechercher des sujets similaires à "sauvegarder plage format pdf"