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 :

Macro impression en PDF incomplète


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Collégien
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Macro impression en PDF incomplète
    Bonjour,
    Je suis nouveau sur le forum, je travaille actuellement sur un fichier Excel 2010 qui me pose pas mal de soucis. Après avoir réussi à trouver sur ce forum une aide sur comment imprimer un fichier Excel en PDF avec une macro maintenant j’aimerai améliorer le truc pour être plus performant.
    Voici mon code de base qui marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub macro()
    Application.ScreenUpdating = False
    On Error Resume Next
      Worksheets("cccc").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\xxxxxxxxxxxx  - " & Year(Now) & "" & Day(Now)
      MsgBox ("The PDF is ready to be sent")
    End Sub
    Cependant j’aimerai sélectionner plusieurs onglets mais je ne trouve pas comment l’expliquer à Excel.
    Par exemple je veux que à chaque fois que je clique sur mon bouton dans ma feuille Excel ils prennent les feuille 1 + feuille 2 +feuille3+....+.. et qu’ils les réunissent sous un même PDF en respectant les conditions d’impression que j’ai définie dessus.
    Dans une seconde macro j’aimerai qu'il renomme mon fichier PDF selon le nom de l’onglet le soucis c’est que je ne sais pas non plus lui faire comprendre.
    J’ai découvert il y’a quelques semaines cette manière de faire sous Excel que je trouve bien pratique et un peu d’aide ne serait pas de refus !
    Merci d’avance !

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, regarde ici, en bas de ce post : Impression de certaines Feuilles d'un classeur via un tableau dans un seul Pdf résultant

    PS : Balise ton code

    Re, la sélection des feuilles peut se faire en maintenant la touche Ctrl enfoncée et par des clics gauches sur l'onglet des feuilles souhaitées. L'enregistreur de macros ( si activé ) te fournira un embryon de code, à optimiser à la main.

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu resultat bizarre de l'enregistreur de macro
    Bonjour KIKI

    je viens de faire l'essai avec l'enregistreur de macro en jouant avec les option dans la fenêtre de paramètre et j'ai un résultat surprenant
    voici 2 macro enregistrées avec l'enregistreur

    l'une j'ai sélectionné
    dans les paramètres "feuille sélectionnées" et l'autre "classeur entier"
    total le résultat dans le pdf est identique pourtant j'ai mis 6 feuilles dans le classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Macro3()
    '
        Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
        Sheets("Feuil1").Activate
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\polux\Desktop\Classeur1.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            True
    End Sub
    Sub Macro4()
        Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
        Sheets("Feuil1").Activate
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\polux\Desktop\Classeur1.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            True
    End Sub
    cela me suggère une question
    activesheet pourrait il être un array????

    comme je ne me sert plus de save as pdf depuis longtemps donc je découvre

    je me sert depuis pas mal de temps déjà de BULLZIP je ne sais pas si tu connais (très efficace)
    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

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    j'ai peut être mal compris ta question Patrick

    quand tu sélectionnes plusieurs feuilles (ou toutes les feuilles), tu crées un groupe de travail

    le groupe de travail est conservé tant que tu n'actives pas une autre feuille que celles du groupe

    donc le array n'est pas ton activesheet, mais le groupe de travail

    si tu ajoutes une Feuil4 au classeur, et que c'est elle qui est activée dans ton code, le PDF ne devrait recevoir que la Feuil4 avec l'option "feuille sélectionnée" je pense (si tu laisses ton array sur feuil1 à 3)

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Bonjour joe
    je viens d'enlever les activâtes et effectivement avec activeworkbook j'ai bien tout le classeur même en laissant la sélection (1,2,3)

    par contre sa répond pas a ma question ou il y a quelque chose qui m'échappe

    pour activesheet après sélection(1,2,3) j'ai bien mes 3 sheets dans mon pdf donc logiquement activesheet par définition étant le sheets actif et moi ayant sélectionné les 3 est donc un array

    a moins qu'il y aurait encore une subtilité entre "activate" et "select" que je n'aurait pas percu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro4()
        Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\Users\polux\Desktop\Classeur1.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            True
    End Sub
    ca sent la question bien tordue ca comme je les aimes

    en tout cas pour staper se sera par exemple
    le "on error resume next" n'est pas nécessaire a moins que tu ne soit pas sur des noms de sheets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub macro()
     Application.ScreenUpdating = False
     On Error Resume Next
     Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\xxxxxxxxxxxx - " & Year(Now) & "" & Day(Now)
     MsgBox ("The PDF is ready to be sent")
     End Sub
    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

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, sous 2007
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Sub Macro1()
        Sheets(Array("Forums", "Points", "Affichage", "Jours", "Semaines", "Graph1", "Graph2" _
            , "Graph3")).Select
        ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
        Sheets("Jours").Select
    End Sub

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    @kiki29
    c'est ce que j'utilise pour bullzip(imprimante virtuel générant un PDF)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ImpressionPDF()
        Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
     
        Application.ActivePrinter = "Bullzip PDF Printer sur Ne03:"
        ExecuteExcel4Macro _
            "PRINT(1,,,1,,FALSE,,,,,,2,""Bullzip PDF Printer sur Ne03:"",,TRUE,,FALSE)"
    End Sub
    Mais bullzip ne fait pas que le pdf
    aperçu de la fenêtre de paramètre
    Nom : apercu fenetre de paramaetre de bullzip.jpg
Affichages : 766
Taille : 90,6 Ko

    si ca intéresse quelqu'un ALLEZ VOIR par la BULLZIP
    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

  8. #8
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    je me sert depuis pas mal de temps déjà de BULLZIP je ne sais pas si tu connais (très efficace)
    Bonjour Patrick
    Je suis sur Bullzip aussi et je le contrôle entièrement par programmation , oui c'est très puissant,
    j'utilise aussi PDFTK pour faire des regroupements et faire des signets sur des pdf déjà fait,
    je le contrôle aussi entièrement par programmation, très puissant aussi.

  9. #9
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, bref, pour conclure cette digression, tout ce que je fais déjà via PDFCreator depuis longtemps.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, bref, pour conclure cette digression, tout ce que je fais déjà via PDFCreator depuis longtemps.
    même chose avec bullzip,

    il y a quelque année, j'était sur pdfcreator, là ou je travail, ils ont décidé de faire tout les dessins AutoCad et Solid Edge en pdf,
    j'avais alors le mandat de faire tout les dessins déjà existant en pdf (quelque 10 000 dessin) et tout les dessins futur,
    donc pour les 10 000 dessins il fallait les faire le week end. Avec pdfcreator ça buggais après environ 500 dessins.

    en changeant pour Bullzip, je n'ai eu aucun problème, depuis j'utilise Bullzip, que ce soit pour Excel, AutoCad, Solid Ede ou autre.

    Ceci dit ça ne veut pas dire que Bullzip est meilleur qu'un autre. dans mon cas il était plus adapté.

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Une digression (du latin digressio, du verbe digredi signifiant « action de s'éloigner »
    c'est pas mon opinion en aucun cas on c'est éloigné du sujet

    maintenant Staper a le choix de la méthode
    en aucun cas je remet en cause ton travail avec pdfcreator ou distiller
    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

Discussions similaires

  1. Impression en pdf
    Par rider74 dans le forum Langage
    Réponses: 6
    Dernier message: 30/10/2006, 14h45
  2. [C#] Impression fichier PDF
    Par LaNat dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/10/2006, 09h18
  3. Impression vers PDF
    Par cjacquel dans le forum MFC
    Réponses: 2
    Dernier message: 21/03/2006, 16h22
  4. Plusieurs impressions de PDF
    Par beastman007 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/12/2005, 08h22
  5. [Pour le Webmaster / Freedyboy] Doc pdf incomplète
    Par alncool dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 25/10/2005, 14h00

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