XL pour MAC enregister un fichier PDF avec un bouton

finpier34

XLDnaute Nouveau
bonjour a tous,
Dans un contexte d'auto entrepreneur,
j'aurai souhaité avoir un bouton pour enregistrer une facture en PDF dans un fichier a cet effet ou dans une feuille dédié
j'ai essayé avec l'enregistreur mais cela ne fonctionne pas !!
il faut aussi changer de nom a chaque enregistrement, si possible le nom et numéro de facture ou autre pour les retrouver plus facilement.
merci de prendre un peu de temps pour m'aider
cordialement,
 

Pièces jointes

  • factures client et suivis ESSAI.xlsm
    25.7 KB · Affichages: 7

cp4

XLDnaute Barbatruc
Bonjour @finpier34 ,

Avec invite pour choisir dossier de sauvegarde. Le fichier sera enregistré sous le nom Facture No +valeur en F7 + date en A7
VB:
Sub Facture_PDF()
    Dim LeNom As String, LaDate As String, LeRep
    LeNom = "Facture No " & Sheets("facture").Range("F7")
    LaDate = Format(Sheets("facture").Range("A7"), "dd_mm_yyyy")
    LeNom = LeNom & " - " & LaDate & ".pdf"
    LeRep = Application.GetSaveAsFilename(LeNom, "PDF Files (*.pdf), *.pdf")
    If VarType(LeRep) = vbString Then
        Sheets("facture").ExportAsFixedFormat xlTypePDF, LeRep
        MsgBox "La facture a bien été créée!", vbOKOnly + vbInformation, "CREATION PDF"
    End If
End Sub

A+
 

Pièces jointes

  • factures client et suivis ESSAI.xlsm
    27.7 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Finpier,
Un essai en PJ avec :
VB:
Sub ExportPdf()
    Dim H$, D$, NF$
    H = Format(Time, "H""H""M")                             ' Heure
    D = Format(Date, "dd" & "." & "mm" & "." & "yyyy")  ' Date
    NF = [F6] & " - Facture " & [F7] & " - " & D & " - " & H & ".pdf" ' Nom du fichier
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NF, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
    MsgBox ("Fichier pdf enregistré. Nom :" & vbCrLf & vbCrLf & NF)
End Sub
Le pdf est enregistré dans le même dossier que le fichier. Il porte le nom Client-N°facture-Date-Heure.pdf
1638267594237.png
 

Pièces jointes

  • factures client et suivis ESSAI.xlsm
    26 KB · Affichages: 9

finpier34

XLDnaute Nouveau
Bonjour @finpier34 ,

Avec invite pour choisir dossier de sauvegarde. Le fichier sera enregistré sous le nom Facture No +valeur en F7 + date en A7
VB:
Sub Facture_PDF()
    Dim LeNom As String, LaDate As String, LeRep
    LeNom = "Facture No " & Sheets("facture").Range("F7")
    LaDate = Format(Sheets("facture").Range("A7"), "dd_mm_yyyy")
    LeNom = LeNom & " - " & LaDate & ".pdf"
    LeRep = Application.GetSaveAsFilename(LeNom, "PDF Files (*.pdf), *.pdf")
    If VarType(LeRep) = vbString Then
        Sheets("facture").ExportAsFixedFormat xlTypePDF, LeRep
        MsgBox "La facture a bien été créée!", vbOKOnly + vbInformation, "CREATION PDF"
    End If
End Sub

A+
Merci cp4,
Je regarde cela demain je viens de rentrer
Merci encore de ton aide
 

finpier34

XLDnaute Nouveau
Bonjour Finpier,
Un essai en PJ avec :
VB:
Sub ExportPdf()
    Dim H$, D$, NF$
    H = Format(Time, "H""H""M")                             ' Heure
    D = Format(Date, "dd" & "." & "mm" & "." & "yyyy")  ' Date
    NF = [F6] & " - Facture " & [F7] & " - " & D & " - " & H & ".pdf" ' Nom du fichier
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NF, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
    MsgBox ("Fichier pdf enregistré. Nom :" & vbCrLf & vbCrLf & NF)
End Sub
Le pdf est enregistré dans le même dossier que le fichier. Il porte le nom Client-N°facture-Date-Heure.pdf
Regarde la pièce jointe 1123354
Merci Sylvanu,
Je viens de rentrer et je regarde ça demain
Merci 🙏 de prendre du temps pour m’aider
 

finpier34

XLDnaute Nouveau
Merci cp4,
Je regarde cela demain je viens de rentrer
Merci encore de ton aid
Bonjour Finpier,
Un essai en PJ avec :
VB:
Sub ExportPdf()
    Dim H$, D$, NF$
    H = Format(Time, "H""H""M")                             ' Heure
    D = Format(Date, "dd" & "." & "mm" & "." & "yyyy")  ' Date
    NF = [F6] & " - Facture " & [F7] & " - " & D & " - " & H & ".pdf" ' Nom du fichier
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NF, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
    MsgBox ("Fichier pdf enregistré. Nom :" & vbCrLf & vbCrLf & NF)
End Sub
Le pdf est enregistré dans le même dossier que le fichier. Il porte le nom Client-N°facture-Date-Heure.pdf
Regarde la pièce jointe 1123354
bonjour a tous,
Dans un contexte d'auto entrepreneur,
j'aurai souhaité avoir un bouton pour enregistrer une facture en PDF dans un fichier a cet effet ou dans une feuille dédié
j'ai essayé avec l'enregistreur mais cela ne fonctionne pas !!
il faut aussi changer de nom a chaque enregistrement, si possible le nom et numéro de facture ou autre pour les retrouver plus facilement.
merci de prendre un peu de temps pour m'aider
cordialement,
Bonjour a tous,
j'ai bien reçu vos propositions mais impossible de les ouvrir avec vos codes.
je pense que le fait d'être sur MAC pose un problème !!
a l'ouverture j'ai ce message,

Réparer le résultat vers factures client et suivis ESSAI-30.xml
Des erreurs ont été détectées dans le fichier « /Users/Gilles/Downloads/factures client et suivis ESSAI-3.xlsm »
Partie supprimée: /xl/vbaProject.bin partie. (Visual Basic pour Applications (VBA))


bien a vous
cordialement,
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Le message semble dire qu'il refuse d'ouvrir des fichiers avec macros ?
Alors si c'est ça c'est simple, vous prenez votre fichier, vous collez notre code ( puisque CP4 et moi, nous vous l'avons donné ) dans votre fichier et testez.
Nos fichiers ne sont que le votre plus le code.
 

finpier34

XLDnaute Nouveau
Bonjour sylvainu,
en fin de compte j'ai garder votre fichier qui fonctionne dans mon fichier et je vous en remercie.
juste un petit détail mon fichier PDF s'enregistre, mais pas ou je veux, et je ne peut le retrouver que par recherche de fichier sinon impossible de le retrouver.
pouvez vous me dire comment modifier votre code pour que je puisse mettre les pdf dans un fichier prévu a cet effet ("factures pdf" par exemple).
merci d'avance et a bientôt
cordialement,
 

cp4

XLDnaute Barbatruc
Bonjour,

Je n'ai pas de mac pour tester. Je te laisse le soin de me faire. un code adapter du site indiqué par kiki29;)
VB:
Sub SaveActiveSheetAsPDFInMacExcel()
    'Ron de Bruin : 11-Dec-2020
    'Test macro to save the ActiveSheet as pdf with ExportAsFixedFormat
    'Note : if set it save the printarea
    Dim FileName As String
    Dim FolderName As String
    Dim Folderstring As String
    Dim FilePathName As String

    'If my ActiveSheet is landscape, I must attach this line
    'for making the PDF also landscape, seems to default to xlPortait
'    ActiveSheet.PageSetup.Orientation = ActiveSheet.PageSetup.Orientation

    'Name of the folder in the Office folder
    FolderName = "factures pdf"
    'Name of the pdf file
    FileName = ActiveSheet.Name & " " & [F7] & " - " & Format(Now, "dd-mmm-yyyy") & ".pdf"

    Folderstring = CreateFolderinMacOffice(NameFolder:=FolderName)
    FilePathName = Folderstring & Application.PathSeparator & FileName

    'expression A variable that represents a Workbook, Sheet, Chart, or Range object.
    'the parameters are not working like in Excel for Windows
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePathName, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False
 
    MsgBox "You find the PDF file in this location : " & FilePathName
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Finpier, CP4,
Un essai avec :
VB:
Sub ExportPdf()
    Dim H$, D$, NF$, NFT$, C$
    C = Workbooks(ActiveWorkbook.Name).Path & Application.PathSeparator & "Factures pdf" & Application.PathSeparator
    H = Format(Time, "H""H""M")                             ' Heure
    D = Format(Date, "dd" & "." & "mm" & "." & "yyyy")  ' Date
    NF = [F6] & " - Facture " & [F7] & " - " & D & " - " & H & ".pdf" ' Nom du fichier
    NFT = C & NF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NFT, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=False
    MsgBox "Fichier pdf enregistré." & vbCrLf & vbCrLf & "Chemin : " & C & vbCrLf & vbCrLf & "Nom : " & NF
End Sub
Le chemin est défini en C=.
Dans la macro, suppose un dossier nommé "Factures pdf" au même niveau que ce fichier.
Sinon le changer en conséquence.
Application.PathSeparator permet de choisir automatiquement "\" ou "/" suivant PC ou MAC.
 

Pièces jointes

  • factures client et suivis ESSAI (5).xlsm
    26.5 KB · Affichages: 9

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 779
Membres
101 816
dernier inscrit
Jfrcs