Partage
  • Partager sur Facebook
  • Partager sur Twitter

VBA Excel exporter en PDF

    3 juin 2020 à 19:48:02

    Bonjour à tous,

    J'essai de faire un facturier en Excel (que je ne maitrise pas très bien). Je voudrais créer 3 boutons :

    • un pour vider la facture
    • un pour enregistrer les données de la facture dans un historique
    • un pour exporter une copie de la facture en PDF

    C'est sur ce dernier point que je sèche. Faut que je vous dise que je suis sur MacOS (ça m'a couté quelques grattage de tête pour comprendre comment déclarer une adresse).

    Pour le moment j'ai fait ça de la façon suivante : 

    Le code ne me présente pas d'erreur, il s'exécute même, le seul souci, c'est qu'il m'imprime la facture, mais qu'il ne m'enregistre rien du tout.

    Sub exportFacture()
        'Déclaration des variables
        Dim NomDossier As String
        Dim CheminDeDossier As String
        
        On Error GoTo 1
        
        'Nom de dossier
        NomDossier = Application.InputBox("Dossier Enregistrement :", "Année")
        CheminDeDossier = "Utilisateurs/Mushi/Documents/ArchivageFacture/" & NomDossier & "/"
        
        If NomDossier = "" Then Exit Sub
        
        'Enregistrement au format PDF
        Sheets("FACTURE").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        CheminDeDossier & "Facture_" & Range("C10").Value & ".pdf", _
        quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
        from:=1, to:=1, openafterpublish:=False
            
    1
    End Sub

    J'ai fait des recherches, des modifications par ci par la mais rien ne change. Est ce que je me plante quelque part, ou je rate quelque chose ?

    Merci pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter
      5 juin 2020 à 15:49:25

      le code me semble OK.Quand tu dis que ça t'imprime la facture, c'est une sortie papier sur ton imprimante ? si oui, fais un test en l'éteignant pour voir.
      • Partager sur Facebook
      • Partager sur Twitter
        7 juin 2020 à 12:40:50

        umfred a écrit:

        le code me semble OK.Quand tu dis que ça t'imprime la facture, c'est une sortie papier sur ton imprimante ? si oui, fais un test en l'éteignant pour voir.


        Oui, c'est une sortie sur l'imprimante. 

        J'ai continué a fouillé sur les forums, et je suis tombé sur plusieurs choses, dont une qui avait l'air de dire, que sur mac on ne peut pas enregistrer ou on veut sur le disque (restriction du système).

        Je continu à chercher la meilleure solution.

        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2020 à 13:49:25

          tu as testé sans l'imprimante allumée/connectée ?
          • Partager sur Facebook
          • Partager sur Twitter
            9 juin 2020 à 12:28:52

            Bonjour,

            Tu peux essayer d'installer une imprimante virtuelle et de l'utiliser pour enregistrer la feuille en PDF avec la fonction "Worksheet.Printout".

            En cherchant rapidement, j'ai trouvé VipRiser pour Mac. Je n'ai pas de Mac, donc je ne sais pas ce que ça vaut, ni si ça marche.

            • Partager sur Facebook
            • Partager sur Twitter
              10 juin 2020 à 23:30:46

              Bonjour Sarkas,

              Merci pour ton retour, je n'ai pas eu trop de temps ces derniers jours mais je vais regarder de ce coté la.

              Ensuite après recherche il semblerait que sur Mac on ne puisse enregistrer que dans le dossier /Users/People1/Library/Group Containers/UBF8T346G9.Office/

              Pour une histoire d'autorisation. Effectivement avec le même code mais ce chemin de destination l'enregistrement se fait bien. ensuite je ne sais pas si c'est lié à ces autorisations ou pas mais le code a fonctionné puis plus.

              • Partager sur Facebook
              • Partager sur Twitter

              VBA Excel exporter en PDF

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown