Macro: Sauvergarder en .pdf

Résolu
Bonjour a tous,

Je suis en train de finaliser un document et j'aimerais créer une macro qui sauvegarderait le "active sheet" seulement en .pdf. J'aimerais aussi que le nom du fichier soit déja défini en fonction des criteres suivant:

Nom du ficher Maitre: KST-

Cellules: C11 (Total) & C12 (Carrefour)

Date: Aujourd'hui (2013-11-25)

Ce qui donnerait: KST- Total Carrefour 2013-11-25

Je ne veux pas que le fichier s'enregistre automatiquement car je veux laisser la possibilité aux utilisateurs de sauvegarder le fichier ou ils le désirent mais en PDF avec le nom prédéfini. Donc lorsque l'utilisateur cliquerait sur le bouton, une fenetres "enregistrer sous" apparaitrait avec dans le champ " Nom du fichier" : KST- Total Carrefour 2013-11-25. Ensuite l'utilisateur pourrait choisir lui même l'emplacement ou il veut enregistrer le document et il pourrait peser par la suite sur le bouton enregistrer.

Est-ce possible de faire une macro de ce style?

Merci de votre aide!!!!

5 réponses

  1. Bonjour
    Quelle version d'Excel utilises tu ?
    0
    1. Excel 2010
      0
  2. en admettant que la date soit en C13

    dim nomfichier as string
    nomfichier = "KST - " & cells(11,3) &" "& cells(12,3) &" "&cells(13,3)
    'pour remplacer les / par un -
    For i = 1 To Len(nomfichier)
    If Mid(nomfichier, i, 1) = "/" Then
    Mid(nomfichier, i, 1) = "-"
    End If
    Next i
    MsgBox SelDossier("C:\")
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    nomfichier, Quality:=xlQualityStandard _
    , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    false
    end sub
    ---------------------------------------------------------
    Function SelDossier(Defaut As String)

    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
    0
    1. Hmmm soit que j'ai fait un truc que j'aurais pas du, mais ca ne fonctionne pas...une fenetre "parcourir" apparait et cette portion de la macro est en débogage

      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      nomfichier, Quality:=xlQualityStandard _
      , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
      False

      Quel boubou ai-je fait?

      Merci!
      0
  3. C'est pourtant la recopie de la macro qui fonctionne chez moi.

    sous Excel, dans le menu fichier dans Enregister et envoyer, as tu "créer un
    document PDF/XPS ?
    0
    1. Je suis pas certain de bien comprendre ta question...j'ai recopié ta macro de facon identique en lui donnant un nom
      0
  4. il y a peut etre une fonction Excel qui n'est pas implantée dans ton excel 2010.
    ouvre excel,
    dans le menu fichier dans "Enregister et envoyer", regarde si tu as "créer un
    document PDF/XPS" ?
    Si tu ne l'as pas c'est normal que la macro ne focntionne pas.
    0
    1. Je viens de regarder et j'ai bel et bien "créer un document PDF/XFS
      0
  5. Donc çà doit fonctionner. verifie.
    pour la fenetre parcourir, elle sert a choisir ton repertoire de destination pour la sauvegarde comme tu l'as demandé.
    0
    1. Ca fonctionne....j'avais fait un boubou!!!! Donc merci de ton aide, c'est extrêment apprécié!
      0