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 :

Excel en PDF : Pagination incorrecte


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut Excel en PDF : Pagination incorrecte
    Bonjour à tous,

    Dans un classeur j'ai plusieurs feuilles à enregistrer sous forme d'un seul fichier PDF.
    Le fichier est bien créé, cela ne pose aucun problème, mais la pagination n'est pas correcte : la numérotation recommence à chaque page !
    J'ai essayé plusieurs méthodes mais aucune ne donne le résultat voulu : une numérotation dans le pied de page qui soit continue.

    Pied de page défini dans chaque page avec le menu "Mise en page" : la numérotation est discontinue;
    Pied de page défini dans chaque page avec le code VBA : la numérotation est discontinue;
    Pied de page défini pour toutes les pages(sélection multiple) avec le code VBA : la numérotation est discontinue;

    Ah oui : dans tous les cas le nombre total de pages est correct ="/&N"

    Code/Paramètres pour la numérotation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With ActiveSheet.PageSetup
    ...........
    .RightFooter = "Page &P/&N" & vbLf & "&A"
    ...........
    end with
    Cela fait 2 jours que je cherche sur le net sans succès donc si l'un d'entre vous a eu ce problème ou pense à une solution : je suis preneur.

    Merci à tous.

    Farouk

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    je n'ai pas de solution directe,
    mais une proposition:
    utiliser Range.ExportAsFixedFormat

    Cordialement,

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut [XL-2007] Excel en PDF : Pagination incorrecte
    Bonjour,

    @Philippe : merci pour ta réponse et pour ton temps.
    J’utilise effectivement ce paramètres mais la pagination n'est pas corrigée pour autant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        Sheets(arrPrintableSheetNames).Select
     
        Sheets(CoverSheetName).Activate
        ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=strOutputFilePath, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    as tu utilisé l'enregistreur de macro, pour voir:
    1- si la pagination est correcte
    2- le code généré

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut [XL-2007] Excel en PDF : Pagination incorrecte
    Re-bonjour,

    Oui, effectivement j'ai essayé avec et sans l'enregistreur de macro.
    Le total de pages reste bon, mais la pagination page/pages non.

    Si un onglet est scindé en 2 feuilles : j'ai bien page "1 / total" et "2 / total" mais à l'onglet suivant le compteur repart à 1 avec le bon "total".

    Bref je m'arrache les cheveux (image !!)

    Merci

    Farouk

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Alors, si c'est le fait de changer d'onglet qui réinitialise la numérotation,
    peut être pourrais tu préparer l'ensemble des zones à imprimer
    dans un même et unique onglet!
    C'est juste une proposition, je n'ai rien testé!

    Cordialement,

  7. #7
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut [XL-2007] Excel en PDF : Pagination incorrecte
    Effectivement j'ai pensé à cette solution .

    L’inconvénient est la mise en forme de chaque onglet dans une seule feuille.
    La hauteur de ligne si en horizontale ou la largeur de colonne si en verticale.

    Ce sont des tableaux de présentation.

    En tout cas merci de me répondre.

    Farouk

  8. #8
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Autre solution, générer toi même la numérotation.
    Si chaque feuille tiens sur une page c'est relativement simple, si ce n'est pas le cas ça sera légèrement plus complexe mais faisable.

    Edit : J'ai trouvé !!!!
    En fait il faut que multi-sélectionnes les feuilles que tu veux imprimer ensembles
    Like this :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim sh As Worksheet
     
        For Each sh In ThisWorkbook.Sheets
            sh.Select False
        Next
    A toi de filtrer après s'il y a des feuilles que tu ne veux pas prendre

  9. #9
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Par défaut [XL-2007] Excel en PDF : Pagination incorrecte
    @cerede : mon code pour la sélection des feuilles est celui-ci
    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
     
        Sheets(Array("Feuil1", "Feuil2", "Feuil3", "Feuil4", "Feuil5", _
            "Feuil6", "Feuil7", "Feuil8", "Feuil9")).Select
            Sheets("Feuil1").Activate
        With ActiveSheet.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = "Ref – Version: La meilleure " & vbLf & "Têtue V1.0"
            .CenterFooter = "System OK – " & sheets("Feuil1").Range("B5") & vbLf & "This document is the property of Moi-Même – All rights reserved"
            .RightFooter = "Page &P/&N" & Chr(10) & "&A"
            .LeftMargin = Application.InchesToPoints(0.236220472440945)
            .RightMargin = Application.InchesToPoints(0.118110236220472)
            .TopMargin = Application.InchesToPoints(0.275590551181102)
            .BottomMargin = Application.InchesToPoints(1.14173228346457)
            .HeaderMargin = Application.InchesToPoints(0.31496062992126)
            .FooterMargin = Application.InchesToPoints(0.31496062992126)
            .PrintErrors = xlPrintErrorsDisplayed
        End With
    Ce code fonctionne, c'est le dernier utilisé pour essayer d'obtenir une pagination correcte. Mais cette pagination est vraiment têtue et ne veux pas m’obéir.


    Merci
    Farouk

  10. #10
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Chez moi ceci fonctionne parfaitement...
    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 test()
     
        Dim sh As Worksheet
     
        For Each sh In ThisWorkbook.Sheets
            sh.Select False
            With sh.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = "Ref – Version: La meilleure " & vbLf & "Têtue V1.0"
            .CenterFooter = "System OK – " & Sheets("Feuil1").Range("B5") & vbLf & "This document is the property of Moi-Même – All rights reserved"
            .RightFooter = "Page &P/&N" & Chr(10) & "&A"
            .LeftMargin = Application.InchesToPoints(0.236220472440945)
            .RightMargin = Application.InchesToPoints(0.118110236220472)
            .TopMargin = Application.InchesToPoints(0.275590551181102)
            .BottomMargin = Application.InchesToPoints(1.14173228346457)
            .HeaderMargin = Application.InchesToPoints(0.31496062992126)
            .FooterMargin = Application.InchesToPoints(0.31496062992126)
            .PrintErrors = xlPrintErrorsDisplayed
        End With
        Next
     
    End Sub
    Dans ton code tu défini uniquement le footer pour la page active, soit seulement la première page....

Discussions similaires

  1. API pour convertir Excel en PDF
    Par Nicolas_75 dans le forum Documents
    Réponses: 16
    Dernier message: 16/11/2010, 17h13
  2. Excel vers pdf
    Par benjisan dans le forum Access
    Réponses: 3
    Dernier message: 25/06/2007, 09h19
  3. [DisplayTag] Export Excel et PDF
    Par buchir dans le forum Taglibs
    Réponses: 4
    Dernier message: 06/06/2007, 16h40
  4. Excel + Powerplay + PDF + impresion = ?
    Par bobby5169 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/03/2007, 14h49
  5. Imprimer des selections excel en pdf par VBA
    Par ouellet5 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/12/2005, 17h29

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