Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro enregistrer sous PDF changement de nom du document

christophe62

XLDnaute Nouveau
Salut tout le monde

Voilà avec mes piètres connaissances, je me suis fais un bouton macro pour enregistrer une feuille de mon classeur en format PDF sur mon bureau.
mon code donne

Sub pdffixe()
'
' pdffixe Macro
'

'
Sheets("courrier").Select
ChDir "C:\Users\Christophe\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Christophe\Desktop\courrier devis Christophe2.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub

ce que je voudrais c'est que le nom de mon fichier prenne le nom d'une cellule se trouvant dans la feuille "mise en page" en case L19
 

kiki29

XLDnaute Barbatruc
Re : macro enregistrer sous PDF changement de nom du document

Salut, qqch dans le genre :
Code:
Option Explicit

Sub SaveAsPDF()
Dim sNom As String
    sNom = Worksheets("mise en page").Range("L19")
    If NomFichierValide(sNom) Then
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                "C:\Users\Christophe\Desktop\" & sNom, Quality:= _
                xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                OpenAfterPublish:=False
    Else
        Worksheets("mise en page").Range("L19").Select
    End If
End Sub

Private Function NomFichierValide(sChaine As String) As Boolean
Dim i As Long
Const CaracInterdits As String = """*/:<>?[\]|"
    NomFichierValide = True
    If Len(sChaine) = 0 Then
        NomFichierValide = False
        Exit Function
    End If
    For i = 1 To Len(CaracInterdits)
        If InStr(sChaine, Mid$(CaracInterdits, i, 1)) > 0 Then
            NomFichierValide = False
            Exit Function
        End If
    Next i
End Function
 

christophe62

XLDnaute Nouveau
Re : macro enregistrer sous PDF changement de nom du document

Bonjour kiki,

Merci, cela fonctionne au seul détail que cela génère la feuille ou se trouve mon bouton alors que je voudrais sauvegarder la feuille "courrier" uniquement
 

Roland_M

XLDnaute Barbatruc
Re : macro enregistrer sous PDF changement de nom du document

bonjour,

il suffit de modifier ActiveSheet par: Sheets("courrier")

ici:

Sheets("courrier").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Christophe\Desktop\" & sNom, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…