XL pour MAC Enregistrer en PDF sur Mac Office 2016

dubarre

XLDnaute Occasionnel
Bonjour,

Je viens vers vous pour tout d'abord dire que l'enregistrement en version PDF sur Mac avec Office 2016 fonctionne mais il l'enregistre dedans les dossiers Excel je ne comprends pas pourquoi je voudrais juste pouvoir lui dire de l'enregistrer par exemple sur le bureau et lui donner un nom que je veux à chaque fois comment est-ce possible s'il vous plaît merci

VB:
Sub enregistrerpdf()


   
Feuille10.PageSetup.PrintArea = "A1:H62"

    Feuille10.Range("A1:H62").ExportAsFixedFormat Type:=xlTypePDF, FileName:="test" & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=True, OpenAfterPublish:=True
   
End Sub
 

Pièces jointes

  • test.xlsm
    47.9 KB · Affichages: 12
Dernière édition:

dubarre

XLDnaute Occasionnel
Bonjour,

J'ai trouvé cette solution qui peut être un intermédiaire pour enregistrer dans le dossier que l'on souhaite le seul problème que j'ai je ne peux pas donner de nom c'est tout le temps sous le même nom de classeur qu'il enregistre ma sélection si quelqu'un a un jour trouvé la solution design bien la partager je la remercie tout de suite cordialement

Code:
Sub pdf()
'
' pdf Macro
'

'
    Range("B10:H29").Select
    ChDir "/Volumes/Boulot/logiciel/DevFacOeuv.1.0.1/"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "/Volumes/Boulot/logiciel/DevFacOeuv.1.0.1/DevFacOeuv.1.0.1.pdf", Quality:= _
        xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
 

job75

XLDnaute Barbatruc
Bonsoir dubarre,

Application.FileDialog permet de choisir le dossier d'enregistrement :

Code:
Sub EnregistrerPDF()
With ActiveSheet.PageSetup
    .PrintArea = "A1:H62" 'à adapter
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "DOSSIER D'ENREGISTREMENT"
    If .Show Then ActiveSheet.ExportAsFixedFormat xlTypePDF, .SelectedItems(1) & Application.PathSeparator & "test.pdf"
End With
End Sub
A+
 

job75

XLDnaute Barbatruc
Bonjour dubarre,

Si Application.FileDialog ne fonctionne pas sur MAC vous êtes obligé d'écrire le chemin en dur dans la macro ou dans une cellule.

Mais bien sûr si le chemin est le même que celui du fichier Excel utilisez :
Code:
Sub EnregistrerPDF()
With ActiveSheet.PageSetup
    .PrintArea = "A1:H62" 'à adapter
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With
ActiveSheet.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & Application.PathSeparator & "test.pdf"
End With
End Sub
A+
 

job75

XLDnaute Barbatruc
Essayez avec Application.GetSaveAsFilename :
Code:
Sub EnregistrerPDF()
Dim chemin As Variant
With ActiveSheet.PageSetup
    .PrintArea = "A1:H62" 'à adapter
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With
chemin = Application.GetSaveAsFilename("test") 'nom du fichier modifiable
If chemin = False Then Exit Sub
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin
End Sub
 

dubarre

XLDnaute Occasionnel
Alors dans l'idée ça fonctionne
- par contre comment on peut lui donner le nom d'une cellule,

-ça m'ouvre la fenêtre pour enregistrer ce qui est dans l'idée correcte mais l'idée de base et le pouvoir enregistrer en PDF avec le nom de la cellule souhaiter directement

le problème et que j'ai la solution sur Windows mais qui ne fonctionne pas sur Mac

Je vous remercie de votre aide on avance tout doucement mais Rome ne s'est pas fait en jour cordialement
 

job75

XLDnaute Barbatruc
Alors dans l'idée ça fonctionne
- par contre comment on peut lui donner le nom d'une cellule
Il y a des limites à la paresse mais bof :
Code:
Sub EnregistrerPDF()
Dim chemin As Variant
With ActiveSheet.PageSetup
    .PrintArea = "A1:H62" 'à adapter
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With
chemin = Application.GetSaveAsFilename([A2]) 'nom du fichier en cellule A2
If chemin = False Then Exit Sub
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin
End Sub
 

Jimbo78

XLDnaute Nouveau
Bonsoir, besoin de votre aide. J'ai testé la solution qui suit (voir ci-dessous), néanmoins je souhaite savoir s'il est possible d'inclure les lignes de code nécessaires afin que le document s'exporte automatiquement au format PDF dans un dossier sur mon bureau.

En vous remerciant,

(voici le code)

Sub EnregistrerPDF()
Dim chemin As Variant
With ActiveSheet.PageSetup
.PrintArea = "A1:H62" 'à adapter
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
chemin = Application.GetSaveAsFilename([A2]) 'nom du fichier en cellule A2
If chemin = False Then Exit Sub
ActiveSheet.ExportAsFixedFormat xlTypePDF, chemin
End Sub
 

Jimbo78

XLDnaute Nouveau
Bonsoir Jimbo78, bienvenue sur XLD,

Il suffit d'indiquer le chemin d'accès complet du fichier PDF à créer.

Attention sur MAC le séparateur du chemin n'est pas forcément l'antislash "\".

Bonne nuit.


Bonjour job75,

Justement jai essayé en indiquant le chemin et cela ne fonctionne pas en faisant un copier collé du chemin du dossier (FileName:= "/Users/Desktop/comptabilite_scans/compta/" & Sheets("Facture").Range("G5") & ".pdf)

Pourriez vous me donner un exemple pour indiquer correctement le chemin d'accès complet svp?

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 334
Membres
102 864
dernier inscrit
abderrashmaen