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 :

Problème avec la génération de PDF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2022
    Messages : 3
    Par défaut Problème avec la génération de PDF
    Bonjour,
    je viens vers vous car je ne trouve pas pourquoi lorsque je génère un PDF via VBA j'ai les lignes verticales qui sont imprimées depuis l'aperçu avant impression, alors que lorsque je génère directement le PDF via ExportAsFixedFormat, elles ne sont pas reprises dans le PDF.
    Nom : impression Pdf.png
Affichages : 118
Taille : 8,7 KoNom : Pdf direct.png
Affichages : 99
Taille : 8,5 Ko
    Voici le code qui génère l'aperçu et le PDF
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    Sub Aperçu_Impression()
    Dim NB_Lignes As Integer
    Dim Nb_colonnes As Long
    Dim Coef As Single
     
    Feuil1.Select
     
    With Feuil1
     
    Select Case xlOn
    Case .OptionButtons(1).Value
    Coef = 1
     
    Case .OptionButtons(2).Value
    Coef = 1.25
     
    Case .OptionButtons(3).Value
    Coef = 1.67
     
    Case .OptionButtons(4).Value
    Coef = 2.5
     
    Case .OptionButtons(5).Value
    Coef = 5
     
    Case .OptionButtons(6).Value
    Coef = 10
     
    End Select
    End With
     
    'Creation d'une zone nommee destinee a etre imprimee
    Range("Debut_tableau").Offset(2, 9).Select
    NB_Lignes = Range(ActiveCell, ActiveCell.End(xlDown)).Rows.Count
    Nb_colonnes = Range("Cycle").Value * Coef
     
    If Nb_colonnes < 482 Then Nb_colonnes = 482
     
    Range("debut_graph").Offset(NB_Lignes + 1, Nb_colonnes).Select
    Range(ActiveCell, Range("debut")).Select
     
    Selection.Name = "Impression"
     
    'mise en page de la zone d'impression
    'A3 Paysage, marges laterales 1cm haut-bas 2 cm, ajusté a 1 page en largeur, centre horizontalement
        Application.PrintCommunication = False
        With ActiveSheet.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        End With
        Application.PrintCommunication = True
        ActiveSheet.PageSetup.PrintArea = "impression"
        Application.PrintCommunication = False
        With ActiveSheet.PageSetup
            .LeftMargin = Application.InchesToPoints(0.393700787401575)
            .RightMargin = Application.InchesToPoints(0.393700787401575)
            .TopMargin = Application.InchesToPoints(0.78740157480315)
            .BottomMargin = Application.InchesToPoints(0.78740157480315)
            .HeaderMargin = Application.InchesToPoints(0.31496062992126)
            .FooterMargin = Application.InchesToPoints(0.31496062992126)
            .CenterHorizontally = True
            .Orientation = xlLandscape
            .PaperSize = xlPaperA3
            .FitToPagesWide = 1
        End With
        Application.PrintCommunication = True
     
    'ouvre l'apercu avant impression
        ActiveSheet.PrintPreview
     
     
    End Sub
    Sub Impression()
     
    Dim NB_Lignes As Integer
    Dim Nb_colonnes As Double
    Dim Chemin As String
    Dim Nom_Fichier As String
    Dim Coef As Single
     
    Feuil1.Select
     
    With Feuil1
     
    Select Case xlOn
    Case .OptionButtons(1).Value
    Coef = 1
     
    Case .OptionButtons(2).Value
    Coef = 1.25
     
    Case .OptionButtons(3).Value
    Coef = 1.67
     
    Case .OptionButtons(4).Value
    Coef = 2.5
     
    Case .OptionButtons(5).Value
    Coef = 5
     
    Case .OptionButtons(6).Value
    Coef = 10
     
    End Select
    End With
     
    'Creation d'une zone nommee destinee a etre imprimee
    Range("Debut_tableau").Offset(2, 9).Select
    NB_Lignes = Range(ActiveCell, ActiveCell.End(xlDown)).Rows.Count
    Nb_colonnes = Range("Cycle").Value * Coef
     
     
    If Nb_colonnes < 482 Then Nb_colonnes = 482
     
    Range("debut_graph").Offset(NB_Lignes + 1, Nb_colonnes).Select
    Range(ActiveCell, Range("debut")).Select
     
    Selection.Name = "Impression"
     
    'mise en page de la zone d'impression
    'A3 Paysage, marges laterales 1cm haut-bas 2 cm, ajusté a 1 page en largeur, centre horizontalement
        Application.PrintCommunication = False
        With ActiveSheet.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        End With
        Application.PrintCommunication = True
        ActiveSheet.PageSetup.PrintArea = "impression"
        Application.PrintCommunication = False
        With ActiveSheet.PageSetup
            .LeftMargin = Application.InchesToPoints(0.393700787401575)
            .RightMargin = Application.InchesToPoints(0.393700787401575)
            .TopMargin = Application.InchesToPoints(0.78740157480315)
            .BottomMargin = Application.InchesToPoints(0.78740157480315)
            .HeaderMargin = Application.InchesToPoints(0.31496062992126)
            .FooterMargin = Application.InchesToPoints(0.31496062992126)
            .CenterHorizontally = True
            .Orientation = xlLandscape
            .PaperSize = xlPaperA3
            .FitToPagesWide = 1
        End With
        Application.PrintCommunication = True
     
    'Exporte au format PDF
     
     
        Nom_Fichier = ActiveSheet.Shapes("r_work").TextFrame.Characters.Text _
                & "_" & ActiveSheet.Shapes("r_Product").TextFrame.Characters.Text _
                & "_" & ActiveSheet.Shapes("r_routing").TextFrame.Characters.Text _
                & "_" & ActiveSheet.Shapes("r_index").TextFrame.Characters.Text
     
        With Application.FileDialog(msoFileDialogFolderPicker)
            If .Show = -1 Then
                Chemin = .SelectedItems(1)
            Else
                Exit Sub
            End If
        End With
     
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Nom_Fichier & ".pdf", _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
                :=False, OpenAfterPublish:=False
     
    'repositionne au debut du tableau
    Range("Debut_tableau").Offset(0, 5).Select
     
    'efface la zone d'impression
    ActiveSheet.PageSetup.PrintArea = ""
     
    End Sub
    merci d'avance pour vos lumières, les miennes sont éteintes

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Question qui peut paraître idiote: Ca ne le fait que dans l'aperçu ou ça le fait aussi dans le pdf après avoir visualisé l'aperçu?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Candidat au Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Avril 2022
    Messages : 3
    Par défaut
    Bonjour,
    Il n'y a pas de questions stupides, il manque juste une information pour comprendre.
    Pour être clair, si j'imprime via l'imprimante "Microsoft to PDF" j'ai les lignes dans le fichier PDF. Alors que si je fait exporter au format PDF je n'ai pas les lignes dans le fichier PDF.
    Et ce avec Excel 2019 ou 2021 ou en VBA.

    merci de l'aide

Discussions similaires

  1. Problème avec la génération de graphique
    Par Mr_asticot dans le forum Jasper
    Réponses: 3
    Dernier message: 16/02/2010, 16h37
  2. [débutant] Problème avec la génération du schéma
    Par ygrim dans le forum Hibernate
    Réponses: 1
    Dernier message: 29/01/2008, 20h32
  3. [XMLDocument] Problème avec la génération d'un entête XML
    Par mike600river dans le forum Composants VCL
    Réponses: 0
    Dernier message: 21/11/2007, 17h47
  4. [Pdf] [0.6] Problème avec la création de PDF
    Par sinleon dans le forum Autres composants
    Réponses: 12
    Dernier message: 02/03/2007, 11h47
  5. Problème Weblogic et génération fichier PDF (Itext)
    Par hicham300 dans le forum Weblogic
    Réponses: 1
    Dernier message: 15/01/2007, 18h10

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