Automatisation de l'enregistrement d'un excel en pdf

Résolu
p.girard Messages postés 51 Statut Membre -  
 AF -
Bonjour,

J'ai réalisé un modèle de devis et je souhaiterai y incorporer une automatisation.
Je précise que je suis sous excel 2010.

Mon but est, lorsque j'enregistre mon fichier excel en pdf, que le nom d'enregistrement me soit proposé automatiquement.
Je ne sais pas si cela est réalisable mais dans le meilleur des cas, je souhaiterai que le fichier se nomme : "Devis n°" & "Contenu de la cellule B12" & "Contenu de la cellule B13". Ainsi à chaque devis réalisé, cela évite de se tromper de numéro de devis.

Voilà donc mon problème. Est-ce réalisable et si oui savez-vous comment faire ?

En vous remerciant d'avance,

Bien cordialement,

PG

6 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Choix du repertoire avec nom fichier defini:

    Sub Export_PDF()
    Dim fichier As String
    'adaptez le nom de la feuille
    With Worksheets("Feuil1")
    fichier = "Devis n°" & .Range("B12") & .Range("B13") & ".pdf"
    rep = SelDossier(fichier)

    'pensez a ecrire le chemin
    Chemin = rep & "\" & fichier
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    End With
    End Sub

    Function SelDossier(Defaut As String)
    'd'après "Nicolas", mpfe
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
    .InitialFileName = Defaut
    If .Show = -1 Then
    SelDossier = fd.SelectedItems(1)
    End If
    End With
    Set fd = Nothing
    End Function

    cela se fasse lors d'un enregistrement. si vous pensez a la disquette ou fichier enregistrer, desole mais ca ne marche pas comme ca.

    Il faut un bouton ou le click sur une cellule definie pour lancer le code.
    4
    1. AF
       
      Merci beaucoup ! En 2018 c'est encore très utile ! Encore merci.
      0