IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Impression "Microsoft Print To Pdf" [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2018
    Messages : 84
    Par défaut Impression "Microsoft Print To Pdf"
    Bonjour à Tous,
    J'ai téléchargé une belle police caligraphiée pour une en tête de société que j'applique sur les factures.
    C'est factures ont un montant fixe et je génère par macro les 12 factures à l'aide d'une boucle "Do While" pour l'année avec actualisation des numéros et dates etc... Tout marche bien.
    Dans ma boucle j'exporte à chaque fois la facture en pdf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Range("Zone").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Nom, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Et tout marche très bien....Du moins, sur mon poste... Car oui grand mystère, les gens à qui j'envoie la facture ont un pdf avec une caligraphie "dégueulace" à des années lumières de l'original. Je leur ai envoyer la caligrahie à installer sur leur poste, sans conviction, et ça n'arranga pas le problème.
    Pire encore, lorsqu'ils me renvoient le fichier que je leur ai envoyé, j'ai moi aussi la mauvaise caligraphie alors que le pdf enregistré sur mon PC est très bien.
    Par contre, si j'imprime avec "Microsoft Print to Pdf", les gens recoivent une facture avec la bonne caligraphie.

    Donc mon problème est si je sélectionne l'imprimante en question, une fenêtre windows s'ouvre et demande de renseigner manuellement le nom du fichier pdf à générer.

    Comment mettre le nom de fichier dans cette fenêtre ? en clair ma variable "Nom"

    Code avec exportpdf
    Merci d'avance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub ExpPDF()
      Dim Chemin As String
      Dim Nom As String
      Dim MoisSuiv As Date
        Chemin = "C:\Users\Moi\Factures Clients\"
        Do
          Nom = Format(Range("D9"), "yy.mm.001")
          MoisSuiv = WorksheetFunction.EoMonth(Range("D9"), 1)
          Range("Zone").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Nom, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
          Range("D9") = MoisSuiv
        Loop While Month(MoisSuiv) <> 4
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    J'ai téléchargé une belle police caligraphiée pour une en tête de société que j'applique sur les factures.
    la reponse est tout simplement dans l'énoncé de ta question

    ils n'ont tout simplement pas cette police dispo sur leur PC

    j'imprime avec "Microsoft Print to Pdf",
    comme certaine imprimante virtuelle pdf celle de windows converti les textes avec police non reconues en images ce qui fait que en effet on crois exporter la police avec mais il n'en est rien

    tres mauvaise idée ton utilisation de police perso
    sauf si tu transforme ces cellules en image avant comme ca tu n'a pas de soucis d'export ecriture ou de lecture et de ce fait tu n'a plus besoins de l'imprimanbte virtuelle juste saveas pdf
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2018
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2018
    Messages : 84
    Par défaut
    Merci Patrick mais ce que je voudrais c'est connaître le fonctionnement de "MS print to pdf" en VBA car ça marche très bien comme ça.
    J'arrive à lancer l'impression mais je voudrais renseigner le nom de fichier dans la fenêtre Windows qui s'ouvre et clicker sur enregistrer.
    J'ai cherché partout, je trouve pas

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    tout bonnement parce que ca n'a pas encore été fait
    directement par vba en natif non
    avec certaines api windows peut etre je sent bien l'usine a gaz pour une simple impression virtuelle en pdf
    est ce que ca vaut le coup ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 026
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 026
    Par défaut
    Bonjour,

    J'ai sans doute mal compris le problème, mais pour exporter au format pdf , sans que l'utilisateur ait a saisir le nom de fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub boutonExportPdfCliquer()
    Dim nom As String
    nom = "c:\aa\testDVP.pdf"
    Range("A2").ExportAsFixedFormat Type:=xlTypePDF, Filename:=nom, _
          IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
     
    End Sub
    Bien sur tu peux passer le nom complet de fichier en paramètre, ou passer le nom de fichier et le chemin en parametre à la macro et également le range à exporter.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    oui gaby277 tu n'a pas compris le probleme dans son ensemble

    le demandeur utilise une police de caracteres perso
    sauver le classeur en pdf avec save as oui mais la police ne sera bonne que chez lui tandis que l'imprimante PDF virtuelle de window 10 transforme les polices non reconnues en image ce qui permet de les garder meme sur un autre PC qui n'a pas cette police de caracteres installée
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/12/2014, 10h07
  2. Réponses: 2
    Dernier message: 26/08/2007, 15h42
  3. Impression en boucle de doc.pdf en php
    Par Ashleycole dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2007, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo