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 :

Plantage (car publication) en sauvegardant feuilles sur un fichier PDF, que faire ?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Finance

    Informations forums :
    Inscription : Février 2022
    Messages : 2
    Par défaut Plantage (car publication) en sauvegardant feuilles sur un fichier PDF, que faire ?
    Bonjour,

    J'ai passé quelques heures à chercher la solution sans y arriver

    J'arrive à sauvegarder la feuille active dans un fichier PDF mais je n'arrive pas à valider le code pour plusieurs feuilles dans un même fichier PDF.

    Voici le code que j'utilise mais qui me lance une fenêtre avec une barre de progression "publication" qui plante ma machine.

    Pour être plus explicite voici mon code inspiré de tuto.

    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
    18
    19
    20
    21
    22
    23
    24
    Sub enregistrer_onglet_en_pdf()
     
    'enregistrer plusieurs onglets en un pdf
    Dim nom_PDF As String
    Dim chemin_pdf As String
     
    'identifier le nom du fichier pdf à créer
    nom_PDF = "monPDF.pdf"
     
    ' identifier chemin d'accès du PDF à créer
    chemin_pdf = "C:\Users\FAMILLE\Desktop\Dossier Test\" & nom_PDF
     
    'choisir les onglets par leurs noms et les sélectionner
    ActiveWorkbook.Sheets(Array("Suivi Activité", "Source", "Suivi Janvier")).Select
     
    'les onglets des feuilles sont bien sélectionnés pas d'erreur sur les noms
     
    ' créer le pdf
    ActiveSheet.ExportAsFixedFormat Type:= _
    xlTypePDF, Filename:=chemin_pdf & nom_PDF, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=True
     
    End Sub
    J'ai également essayé ce bout de code en faisant une boucle fixe car ce sont les trois premières feuilles que je souhaite sauvegarder
    le code passe bien sur le premier tour de la boucle mais au deuxième tour s'arrête me sort bien la première feuille mais plante Excel car lance une publication

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub impression_plusieurs_PDF()
        Dim fin&, i&, fich$
            fin = 3
            For i = 1 To fin
                    fich = ThisWorkbook.Path & "\" & x & " " & Format(Date, "yyyy-mm-dd")
                    Sheets(i).ExportAsFixedFormat Type:=xlTypePDF, Filename:=fich, OpenAfterPublish:=True
            Next i
        'Feuil1.Select
    End Sub
    Merci encore pour votre lecture et vos conseils

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 962
    Par défaut
    bonjour
    personnellement je fais avec :
    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
    18
    Sub enregistPDF()
    '*************************Enregistrement Rapport Format PDF*******************
    Application.ScreenUpdating = False
     
    Dim Ar(2) As String 
        Ar(0) = Feuil1.Name
        Ar(1) = Feuil2.Name
        Ar(2) = Feuil3.Name
     
     
           Sheets(Ar).Select
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & "Budget de Fonctionnement Année 2022" & m _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=False
     
           Application.ScreenUpdating = True
    End Sub

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Février 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Finance

    Informations forums :
    Inscription : Février 2022
    Messages : 2
    Par défaut
    Bonsoir BENNASR,

    Merci pour ta réponse.

    J'ai bien compris ton code et le tableau.

    J'ai tenter ton code mais malheureusement j'ai une fenêtre qui s'ouvre de publication lente et qui finit par planter mon excel (2010).

    A force d'avoir essayé de nombreuses solutions dont l'utilisation aussi de l'impression avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveWindow.SelectedSheets.PrintOut copies:=copies, Collate:=True, IgnorePrintAreas:=False, _
                                             ActivePrinter:="Microsoft Print to PDF", PrintToFile:=True, _
                                             PrToFileName:=Chemin_pdf
    Je pense que le problème vient de mon code, de mes déclarations, d'option dans mon Excel car ça fonctionne avec trois feuilles sans autre code mais pas dans mon classeur avec 2 userform et 7 feuilles (aucun masquées).
    Je ne sais pas vers ou me tourner pour chercher sans déconstruire !!

    Merci pour votre aide

Discussions similaires

  1. Comment copier une feuille sur un fichier Txt ou Bat
    Par fanmanga dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/10/2016, 12h13
  2. Réponses: 3
    Dernier message: 30/09/2011, 12h03
  3. Réponses: 10
    Dernier message: 29/05/2007, 13h16
  4. lien sur un fichier pdf
    Par canabral dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 06/02/2006, 12h26
  5. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 13h10

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