macro pour savegarder en (nom variable) un fichier excel

piskely

XLDnaute Junior
bonjour à tous,
je voudrais une macro qui me permet de faire une savegarde en format pdf avec le nom en variable (numéro facture(D10), nom client(B18) et date facture(A18)).

Code:
Sub SAVE_TO_PDF()
' SAVE_TO_PDF Macro
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\EHMSARR\Documents\SAVE\Facture1.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub

avec ceci l'enregistrement écrase mon dernier fichier puisque le nom n'aura pas changé.
merci de votre précieuse aide
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : macro pour savegarder en (nom variable) un fichier excel

bonsoir piskely le forum
j'ai mis la date au format année - mois- jour comme cela tu auras un liste qui sera croissante par client
a+
Papou:)


Code:
Sub SAVE_TO_PDF()
dim x$
x= "Facture "& range("D10") & " Nom Client " & range("B18") & " Date Facture "& format(cdate(range(A18)),"yyyy-mm-dd") & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\EHMSARR\Documents\SAVE\" & x, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub
 

piskely

XLDnaute Junior
Re : macro pour savegarder en (nom variable) un fichier excel

Merci Paritec,
En fait en "A18" j'ai un numéro de facture en "FA2015/123" et je pense que c'est cela le probléme.
je m'explique. Lorsque c'est avec ça :
Code:
 Sub enregistrement()
 Dim chemin As String, Fichier As String
   
Sheets("FACTURIER").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
 "C:\Users\EHMSARR\Documents\SAVE\Facture_" & Sheets("FACTURIER").Range("B18").Text & Sheets("FACTURIER").Range("D10").Text & ".pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
 :=False, from:=1, to:=1, OpenAfterPublish:=False
 End Sub
bah ça marche parfaitement,
mais lorsque je change ("B18") par ("A18") c'est
Erreur d'exécution '1004'
une idée?:confused:
 

Paritec

XLDnaute Barbatruc
Re : macro pour savegarder en (nom variable) un fichier excel

re Piskely le forum
bah oui, comme tu n'as pas été capable de fournir un fichier j'ai répondu pil poil à ta demande!!!!
Sans tenir compte, que tu ne connaissais pas les règles sur les noms de fichier !!!!
Bref un nom de fichier ne peut pas contenir de / ou de \ alors avec ton nom de fichier commençant par FA2015/123 cela bug.
En plus dans ta demande tu as demandé de mettre Facture puis A18 et nom de client D10 etc , là aussi j'ai répondu et dans la macro que tu renvoies toi tu ne mets que Facture A18 & D10 !!!! (nom de client à disparu)
bref encore une demande très imprécise. (qui abouti à une réponse qui ne convient pas évidemment)
Voilà la macro modifiée pour accepter ta cellule A18
a+
Papou:)
Code:
Sub enregistrement()
    Dim x$
    With Sheets("Facturier")
        x = "Facture_" & Split(.Cells(18, 1), "/")(0) & "-" & Split(.Cells(18, 1), "/")(1) & " " & .Range("D10") & ".pdf"
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
           "C:\Users\EHMSARR\Documents\SAVE\" & x _
           , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
           :=False, from:=1, to:=1, OpenAfterPublish:=False
    End With
End Sub
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : macro pour savegarder en (nom variable) un fichier excel

Re Piskely le forum
un conseil cependant, ton nom de fichier avec Facture_FA2015-185 tu pourrais très bien retiré le Facture, car le FA est bien l'abréviation de Facture AV pour Avoir et DE pour devis !!!!!
Par contre moi je rajouterais la date de la facture au format yyyy mm dd pour faire des synthèses cela peut servir et en plus cela aurait l'avantage de classer tes factures clients par ordre la dernière en bas de la liste .
enfin l'essentiel est que cela marche maintenant
bon Week-end
a+
Papou:)
 

piskely

XLDnaute Junior
Re : macro pour savegarder en (nom variable) un fichier excel

c'est fait j'ai rajouter la date de facturation!
Code:
Sub SAVE_PDF()
Application.ScreenUpdating = False
    Dim x$
    With Sheets("Facturier")
        x = Split(.Cells(18, 1), "/")(0) & "-" & Split(.Cells(18, 1), "/")(1) & " " & .Range("D10") & " " & .Range("B18").Text & ".pdf"
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
           "C:\Users\EHMSARR\Documents\SAVE\" & x _
           , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
           :=False, from:=1, to:=1, OpenAfterPublish:=False
    End With
    Application.ScreenUpdating = True
End Sub
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : macro pour savegarder en (nom variable) un fichier excel

Re Piskely le forum
oui tu as rajouté la date mais quelle est son format ??? si tu n'es pas Année Mois et Jour tu auras un dossier qui ne sera pas classé comme il faut!!!
a+
Papou:)
 

Paritec

XLDnaute Barbatruc
Re : macro pour savegarder en (nom variable) un fichier excel

re Piskely le forum
je te l'avais fait dans ma première réponse
a+
Papou:)

Code:
 x = Split(.Cells(18, 1), "/")(0) & "-" & Split(.Cells(18,  1), "/")(1) & " " & .Range("D10") & " " &  format(cdate.(range(B18)),"yyyy-mm-dd") & ".pdf"
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
295

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata