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 :

[VBA-E] Impression page paire sur plusieurs onglets


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    120
    120 est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Par défaut
    essaies ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each feuille In ActiveWindow.SelectedSheets
        feuille.select
        nbpages='résultat de ta macro qui compte les pages appliquée à l'onglet en cours
        msgbox feuille.name &": "& nbpages &" pages comptées"
        for i=premierepage to nbpages step 2
            feuille.PrintOut i, i, False
        next
    Next
    et montre le code de ta macro qui compte les pages...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Par défaut
    On avance mais pas dans le bon chemin

    Il m'imprime bien les pages impaires de chaque onglets sélectionné maintenant. Mais je souhaite qu'il m'imprime les pages impaires de la sélection dans son ensemble.
    En fait mes 2 premiers onglets ont toujours qu'une seule page donc lors de l'impression via la macro (pages impaires dans un 1er temps puis paiges paires dans un 2nd temps) ma page doit avoir au recto l'unique page du 1er onglet ("impression") et au verso l'unique page du 2ième onglet ("Chiffres clés"). ensuite les autres pages imprimées sont fonction des clients car le nb de contacts, d'actions et de produits sont variables.

    Est ce plus clair?

    Voici le code utilisé dans son ensemble :
    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
     
    Sub ex_Impression_V2()
     
    ' Impression Macro
    ' Macro enregistrée le 15/02/05 par Nicolas BAUDRY et 120
     
     
    Sheets(Array("Impression", "Chiffres Clés", "Contacts", "Actions", "Produits")).Select
     
     
    Dim i&, NbPages&, rep, PremierePage&
        rep = MsgBox("Cliquer sur :" & vbLf & _
                   "- Oui pour imprimer les pages paires" & vbLf & _
                   "- Non pour imprimer les pages impaires" & vbLf & _
                   "- Annuler pour quitter sans rien faire.", vbYesNoCancel)
      If rep = vbCancel Then Exit Sub
      PremierePage = IIf(rep = vbYes, 2, 1)
     
      For Each feuille In ActiveWindow.SelectedSheets
          feuille.Select
        NbPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
        MsgBox feuille.Name & ": " & NbPages & " pages comptées"
        For i = PremierePage To NbPages Step 2
            ActiveWindow.SelectedSheets.PrintOut From:=i, to:=i, Preview:=True, Collate:=True
        Next i
    Next
       Sheets("Fiche Client").Select
       ActiveSheet.Cells(1, 1).Select
     
     
    End Sub

  3. #3
    120
    120 est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 69
    Par défaut
    Citation Envoyé par liop49
    On avance mais pas dans le bon chemin
    Je comprends pas pourquoi...

    Citation Envoyé par liop49
    Est ce plus clair?
    Pas pour moi...

    si tes deux premiers ont une seule page, tu peux les imprimer directement et gérer le reste avec la boucle non?

    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
    Sub ex_Impression_V2()
     
    ' Impression Macro
    ' Macro enregistrée le 15/02/05 par Nicolas BAUDRY et 120
     
     
     
    Dim i&, NbPages&, rep, PremierePage&
     
        rep = MsgBox("Cliquer sur :" & vbLf & _
                   "- Oui pour imprimer les pages paires" & vbLf & _
                   "- Non pour imprimer les pages impaires" & vbLf & _
                   "- Annuler pour quitter sans rien faire.", vbYesNoCancel)
      If rep = vbCancel Then Exit Sub
      PremierePage = IIf(rep = vbYes, 2, 1)
     
     ActiveWindow.Sheets("Impression").PrintOut Preview:=True, Collate:=True
     
     ActiveWindow.Sheets(""Chiffres Clés"").PrintOut Preview:=True, Collate:=True
     
     
     Sheets(Array( "Contacts", "Actions", "Produits")).Select
     
      For Each feuille In ActiveWindow.SelectedSheets
          feuille.Select
        NbPages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
        MsgBox feuille.Name & ": " & NbPages & " pages comptées"
        For i = PremierePage To NbPages Step 2
            ActiveWindow.SelectedSheets.PrintOut From:=i, to:=i, Preview:=True, Collate:=True
        Next i
    Next
       Sheets("Fiche Client").Select
       ActiveSheet.Cells(1, 1).Select
     
     
    End Sub

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 491
    Par défaut
    Merci 120 pour ton aide.

    J'ai trouvé une autre solution et voici le code finale en tout cas merci pour tout car ton aide m'a permis d'avancer et surtout de ne pas lacher prise.
    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
     
    Sub Impression()
     
     
    'Sélection des feuilles à imprimer
     
        Sheets(Array("Impression", "Chiffres Clés", "Contacts", "Actions", "Produits")).Select
     
        Dim wPage As Long
     
        NbPages = 0
     
        'Parcours du classeur et des feuilles sélectionnées afin de déterminer le nombre de pages à imprimer
     
        For Each sht In Workbooks("Base clients_17-02-05.xls").Windows(1).SelectedSheets
     
            sht.Activate
     
            Pages = ExecuteExcel4Macro("Get.Document(50)")
     
            NbPages = NbPages + Pages
     
        Next sht
     
        'Impression des pages impaires
     
        MsgBox ("Impression des pages impaires ! ")
     
        For wPage = 1 To NbPages Step 2
     
            ActiveWindow.SelectedSheets.PrintOut From:=wPage, To:=wPage, Collate:=True
     
        Next wPage
     
        'Impression des pages paires
     
        MsgBox "Impression des pages paires !"
     
        For wPage = 2 To NbPages Step 2
     
            ActiveWindow.SelectedSheets.PrintOut From:=wPage, To:=wPage, Collate:=True
     
        Next wPage
     
       Sheets("Fiche Client").Select
       ActiveSheet.Cells(1, 1).Select
     
    End Sub
    Merci pour votre aide

    A + pour de nouvelles galère de Nico la frite

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2003] Lier des champs de page de TCD sur plusieurs onglets
    Par nekhar87 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/04/2012, 14h26
  2. codage vba: recherchev sur plusieurs onglets
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/02/2012, 15h48
  3. Réponses: 4
    Dernier message: 28/09/2006, 11h26
  4. Impression d'une page web sur plusieurs pages papier
    Par Spidyy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/06/2006, 17h42
  5. Impression pages paires et impaires
    Par ely dans le forum Access
    Réponses: 1
    Dernier message: 26/01/2006, 09h44

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