Macro: Sauvergarder en .pdf

Résolu
ZeCaillou -  
 ZeCaillou -
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. dlt-pan Messages postés 529 Statut Membre 67
     
    Bonjour
    Quelle version d'Excel utilises tu ?
    0
    1. ZeCaillou
       
      Excel 2010
      0
  2. dlt-pan Messages postés 529 Statut Membre 67
     
    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. ZeCaillou
       
      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. dlt-pan Messages postés 529 Statut Membre 67
     
    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. ZeCaillou
       
      Je suis pas certain de bien comprendre ta question...j'ai recopié ta macro de facon identique en lui donnant un nom
      0
  4. dlt-pan Messages postés 529 Statut Membre 67
     
    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. ZeCaillou
       
      Je viens de regarder et j'ai bel et bien "créer un document PDF/XFS
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dlt-pan Messages postés 529 Statut Membre 67
     
    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. ZeCaillou
       
      Ca fonctionne....j'avais fait un boubou!!!! Donc merci de ton aide, c'est extrêment apprécié!
      0