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 :

Imprimer fichier avec entete différente selon la page


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai récupéré un fichier avec une macro qui permettait de faire une impression avec zones variables.
    Voici le code
    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
    For Each w In ActiveWorkbook.Worksheets
    'definition de l'entete, en l'occurrence égale à la cellule A1 de la page en cours
    valeurEntete = w.Range("A1").Value
    w.PageSetup.CenterHeader = valeurEntete
    Next
    End Sub
     
    Sub BasdePageOnglet()
    Dim valeurBasdePage As String
    'for pour parcourir toutes les pages du fichier excel
    For Each w In ActiveWorkbook.Worksheets
    'definition de l'entête, en l'occurrence égale à la cellule A1 de la page en cours
    valeurEntete = w.Range("B1").Value
    w.PageSetup.CenterFooterr = valeurBasdePage
    Next
    End Sub
     
     
    Sub cestPartiValerie()
    nbrePageAImprimer = Recup_le_nombre_pages_a_imprimer()
    Dim s As Worksheet
    Set s = ActiveSheet
    EnteteOnglet
    For i = 1 To nbrePageAImprimer
    'ici il faut définir comment tu personnalises chaque page en fonction de la variable i qui définit la page qui va etre imprimer
    ActiveSheet.PageSetup.CenterHeader = "&""Arial,Gras""&12" & ActiveSheet.Range("A879").Offset(i, 0).Value
    'ActiveSheet.PageSetup.CenterHeader = ActiveSheet.Range("A879").Offset(i, 0).Value
    'pour imprimer directement sans preview il faut remplacer le premier true par false dans la ligne ci-dessous
    Call s.PrintOut(i, i, 1, True, True, False, False, False, True)
    Next
    End Sub
     
     
    Function Recup_le_nombre_pages_a_imprimer()
    Dim iHpBreaks As Integer, iVBreaks As Integer
    Dim iTotPages As Integer
    iHpBreaks = ActiveSheet.HPageBreaks.Count + 1
    iVBreaks = ActiveSheet.VPageBreaks.Count + 1
    iTotPages = iHpBreaks * iVBreaks
    Recup_le_nombre_pages_a_imprimer = iTotPages
    End Function
    Maintenant je souhaite modifier l'entete sur chaque page, l'entete est différent selon la page. Ou puis-je le rajouter ?
    Je souhaiterais faire une autre macro pour des entetes automatiques : Entete page 1 = "xx" Entete page 2 = "xxxx"...

    Merci d'avance

    J'ai peut-être mal exprimé ma demande. Je souhaiterais faire une macro pour définir des entetes différents à chaque zone d'impression ( 17 au total)

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Bonjour

    Dans Excel l'en-tête dynamique n'existe pas. Tu peux différencier 1er page et suivantes, pages paires et impaires.

    Le seul moyen d'avoir une en-tête propre à chaque page est, par code ou manuellement, d'imprimer page par page en changeant l'en-tête entre chaque impression ce qui complique la pagination qu'il faut donc aussi gérer.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Si j'utilise l'enregistreur de macro pour préparer l'entete de la page 1 et l'imprimer, une autre pour l'entete de la page 2 et l'imprimer etc... cela va fonctionner ?

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Re

    Oui : après reste à nettoyer et optimiser le code.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. FView ou Record sur fichier avec ligne différente
    Par BuzzLeclaire dans le forum Débuter
    Réponses: 13
    Dernier message: 18/03/2010, 12h35
  2. [XL-2007] Mise en page - Mise à l'echelle différente selon les pages
    Par pael013 dans le forum Excel
    Réponses: 4
    Dernier message: 03/09/2009, 12h30
  3. Pied de page différent selon la page
    Par Tchupacabra dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2009, 09h44
  4. Réponses: 6
    Dernier message: 11/06/2008, 15h48
  5. Réponses: 4
    Dernier message: 04/09/2006, 12h41

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