XL pour MAC Enregistrer en PDF sur Mac Office 2016

dubarre

XLDnaute Nouveau
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
 

Fichiers joints

Dernière édition:

dubarre

XLDnaute Nouveau
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+
 

dubarre

XLDnaute Nouveau
Bonjour, je suis d'accord avec vous j'ai essayé de modifier cette ligne car dès le départ îl me l'a mis en jaune je ne trouver pas la solution

.Title = "DOSSIER D'ENREGISTREMENT"
 

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 Nouveau
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
 

Haut Bas