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 :

[VBA-E] XLS vers PDF


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [VBA-E] XLS vers PDF
    Bonjour,

    Mon but est de créé un macro qui sélectionne une feuille de calcul dans un fichier excel pour l'envoyer à un fichier.pdf en passant par l'imprimante de Adobe. Je vous démontre 2 codes pas très différent et ensuite je vous explique mon problème.


    1er :
    --------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro1()
    '
    ' Macro1 Macro
    '
        Sheets("Évolution PL").Select
        Application.ActivePrinter = "Adobe PDF sur Ne02:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="Adobe PDF", Collate:=True
        Application.WindowState = xlMinimized
        Application.WindowState = xlNormal
    End Sub
    ---------------------------------------------------
    2e :
    ----------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub macro2()
    
        '  Sheets("Évolution PL").Select
        'ActiveChart.PrintOut Copies:=1, Collate:=True, PrToFileName:="C:\Evolution PL Graph.pdf", ActivePrinter:="Adobe PDF"
        ' Application.ActivePrinter = "Adobe PDF sur Ne02:"
        ' ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, ActivePrinter:="Adobe PDF sur Ne02:", PrToFileName:="C:\Temp\Evolution PL Graph.pdf"
        'Application.WindowState = xlMinimized
       ' Application.WindowState = xlNormal
    
    End Sub
    ----------------------------------------------------
    Voici donc le problème,
    La macro nommé Macro1 fonctionne à merveille, cela me fait apparaître la fenêtre "Enregister sous" et le PDF ce créé sans problème.

    J'ai une contrainte qui fait que je ne dois pas faire apparaître la fenêtre "Enregistrer sous", Mais lorsque j'utilise le code de la Macro nommé Macro2 pour lui donner un chemin pré-établi, cela crée le PDF mais lorsque j'essais de l'ouvrir je recois le message d'erreur "Adobe ne peut lire ce fichier car le format est corompu".

    Je possède Excel 2002 SP3 et Adobe Acrobate 6 Standart
    Je n'arive pas a faire fonctionner les PDF générés automatiquement et pourtant la seule différence entre les 2 codes c'est que dans l'un le chemin est donné. J'ai les droits d'écritures (et administrateur) de mon poste.

    Si quelqu'un a une idée autre que le suicide faite moi signe

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    as tu essayé d'ouvri les fichiers générés par ta 2° méthode avec un editeur de texte histoire de voir si tu arrive à en reconnaitre le format...

    je ne sais pas comment marche l'imprimante virtuelle d'adobe... mais habituellement les imprimante virtuelles générent un fichier postscript.. qui est ensuite converti en pdf...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai réeussi a ouvrir le second fichier avec Excel, ce que j'obtient c'est des lignes de code qui aurait dû être envoyé à une imprimante ou dans le cas suivant vers le convertiseur pdf.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    c'est bien du post-script..?

    faut donc regarder du coté de la doc de "l'imprimante virtuelle", s'il y as moyen de définir ce fameux nom de fichier..., peu-être une propriété...?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Plus je travail sur se problème plus je crois que l'appel de la procédure de convertion se trouve dans la fenêtre "Enregistrer sous" cela expliquerait pourquoi les données sont envoyées mais non codé. Je continu mes recherches à ce sujet.

Discussions similaires

  1. [XL-2003] xls vers pdf
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2012, 19h09
  2. [XL-2007] Conversion xls vers pdf
    Par m@tix dans le forum Excel
    Réponses: 17
    Dernier message: 28/06/2011, 16h40
  3. Message d'erreur à la conversion .xls vers .pdf
    Par samson_02 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/02/2009, 15h02
  4. Automatiser conversion XLS vers PDF
    Par DevPerl dans le forum Langage
    Réponses: 3
    Dernier message: 13/09/2007, 21h08
  5. [VBA-E] .XLS vers .TXT (enregistrement fixe)
    Par turbo74 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/03/2006, 15h45

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