Excel. Probleme Macro / Impression

Résolu
Benj -  
 atonservice -
Bonjour,

Est il possible dans un classeur excel de créer une macro (ou autre moyen) "imprimer la page 4 de chaque feuille" par exemple.

Sachant que les feuilles vont et viennent dans le classeur... et qu'il n'est donc pas possible, je pense, en utilisant le nom des feuilles....

Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

22 réponses

  • 1
  • 2
  1. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Salut !

    une macro avec :
    ActiveWorkbook.PrintOut From:=4, To:=4, Copies:=1, Collate:=True

    tu vas dans : outils nouvelle macro
    puis fichier , imprimer de la page 4 à la page 4
    coches "tout le classeur"
    n'oublie d'arrêter la macro !

    1
  2. atonservice
     
    pour répondre à la question 11

    je te propose un truc simple : il t'imprime le no de la page que tu lui indiques dans la case A1 de la 1ère feuille

    pour ce faire:

    1) remplace le code que je t'ai donné par celui-là:

    Sub imprim_page_no()

    Dim no, i

    Sheets(1).Activate
    no = Range("A1").Value

    For i = 1 To Sheets.Count

    With Sheets(i)
    .PrintOut From:=no, To:=no
    End With
    Next i

    End Sub


    2) reviens à ton classeur et saisi le No de la page que tu veux imprimer (2 par exemple) dans la cellule A1 de la 1ère feuille

    3) lance la macro
    => il t'imprime les pages no 2 de chaque feuille

    si tu veux imprimer des autres pages, tu n'as qu'à changer la valeur de la cellule A1 et relancer la macro!

    jespère que ça t'aidera
    atonservice

    PS : si ça n'est pas possible de saisir le chiffre en A1, tu peux lui indiquer une autre cellule en remplaçant le "A1" dans Range("A1") par l'adresse de la cellule ou se trouve le chiffre à prendre en compte
    1
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour et bravo à xkristi :-)
    0
    1. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
       
      Salut Eriiic
      Merci pour ton bravo
      mais c'était si peu de chose comparé aux macros plus compliquées que tu écris ...
      0
  4. Benjamin
     
    Bonjour,

    J'ai essayé la solution de la macro, hélas, ca ne m'imprime que la feuille 4 à l'écran...

    Par contre je n'ai pas "tout le classeur" mais "classuer entier"... je pense que c'est la meme chose.

    Merci de votre aide
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Bonjour !

    J'ai mal compris ta demande
    dans un classeur , il n'y a qu'une feuille nommée feuille 4
    et je pensais que tu voulais imprimer celle-là !!!

    0
  7. Benjamin
     
    Bonjour,

    Je me suis peut etre mal exprimé.

    c'est la page 4 (par exemple) de chaque feuille du classeur que je veux imprimer.... (sachant que les feuilles vont et viennent dans ce classeur).

    merci d'vaance
    0
  8. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Bonjour !

    en fait il te faut pour chacune des feuilles définir la zone d'impressionsoit tu fais aperçu des sautes de page
    tu sélectionnes les cellules de la page
    puis fichier , zone d'impression , définir
    ensuite quand feras imprimer
    le système n'imprimera que les zones sélectionnées pour chacune des feuilles

    et dans ce cas, pas besoin de macro

    se traduit en macro par :

    Sheets("Feuil1").Select
    ActiveSheet.PageSetup.PrintArea = "$A$55:$D$108"
    Sheets("Feuil2").Select
    Range("A55:B108").Select
    ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
    Sheets("Feuil4").Select
    Range("A55:B108").Select
    ActiveSheet.PageSetup.PrintArea = "$A$55:$B$108"
    Sheets("Feuil3").Select
    Range("A55:A67").Select
    ActiveSheet.PageSetup.PrintArea = "$A$55:$A$67"
    Range("E69").Select
    0
  9. atonservice
     
    Bonjour,

    sinon, si tu connais le no de page que tu veux imprimer et que celui-ci ne change pas d'une feuille à la suivante, copie le code si dessous dans l'éditeur Macros (ALT+F11)

    jai testé ça marche chez moi
    (attention la macro plante si 'nb de pages d'une feuille < no page que tu veux imprimer', c'est à dire si tu lui demandes d'imprimer une page qui n'existe pas !)
    ________________________________________________________________
    sub imprim_page_no ()

    dim nb_de_feuilles

    nb_de_feuilles = activeworkbook.sheets.count 'compte le nombre de feuille dans le classeur en cours

    'impression de la page 4 de chaque feuille du classeur
    for i=1 to nb_de_feuilles

    sheets(i).select
    Activesheet.PrintOut From:=4, To:=4, Copies:=1, Collate:=True

    next

    end sub
    __________________________________________


    si tu veux imprimer un autre no de page que le 4, tu n'as qu'à changer le chiffre dans From:=4, To:=4, . :)

    PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse

    atonservice
    0
  10. Benjamin
     
    Bonjour,
    Ca m'a l'air pas mal du tout comme solution, mais au niveau macro je suis limité à enregistrer une macro. Quand il faut la créer comme tu me le demande je sais pas faire.

    En faisant alt+f11, une grande page grise s'affiche... ensuite?

    Merci d'avance
    0
  11. atonservice
     
    Bonjour,

    ok alors dans la "grande page" (lol)

    1) tu vas dans le menu "insertion", tu cliques sur "module"

    une fenêtre, telle que celle ci, s'ouvre :
     http://www.fabnet.ch/cours_vb/environ2.PNG 
    ,

    2) tu colles le code dans la partie de droite (juste en dessous des listes "Général" et "Déclarations").

    3) tu reviens à ta feuille excel. la macro "imprim_page_no" figure maintenant dans la liste des macros (Menu Outils->Macro->Macros)

    tu n'as plus qu'à l'exécuter pour voir ce que ça donne
    0
  12. Benjamin
     
    Bonjour,

    Ca marche Nickel!!!

    Maintenan,t si ca te derange pas ca m'interesse beaucoup ton ->

    "PS : pour aller plus loin, il est même possible de lancer une interface qui te permettrait d'indiquer le no de la page à imprimer si ça t'intéresse "

    En prenant en compte omn trés modeste niveau ;-)

    (Pour l'instant il me faudra imprimer d'abord toutes les pages 2, puis plus tard toutes les pages 3... et ainsi jusqu'a 13.)
    0
  13. atonservice
     
    jvais voir ce que jpeux faire pcq on arrive vite à des usines à gaz, qui dès qu'on modifie le moindre truc il faut tout refaire...

    jregarde après manger ^^P
    0
  14. Benjamin
     
    Bonjour,

    C'est encore moi.

    Dans le meme ordre d'idée : "Excel devine le nombre de feuille qu'il y a et effectue la meme operation dans chaque feuille"

    -> Serait il possible dans une feuille supplementaire de créer une macro ayant pour mission de "recuperer toutes les données de A6(par exemple) de chaque feuille du classeur"

    En esperant avoir été clair....

    Merci d'avance
    0
  15. Benjamin
     
    Bonjour,

    Un grand merci. j'avais pas vu ton message precedent! Mais bon l'interface c'est idéal. ta solution de acros me convient parfaitement.

    Concernant mon post suivant :
    Pour t'eclaircir une page correspond à un mois.

    C'est à dire que la page 2 corresopnd au mois de novembre pour chaque personne du groupe.

    Cette page comprend les stats du mois (entrés).

    C'est donc c'est stats que je dois recapituler dans un tableau regroupant toutes les personnes du groupe.

    LA difficulté etant que de temps en temps une personne nouvelle arrive dans le groupe et que d'autres passent d'un gropupe à l'autre...

    merci
    0
  16. atonservice
     
    ça sent le tableau croisé dynamique...

    tu sais ce que c?
    0
  17. atonservice
     
    c un tableau qui sert à synthétiser des données de plusieurs feuilles

    ça se met à jour les valeurs à chaque fois qu'elles changent (d'ou le terme dynamique)

    tu fais Menu->données->rapport de tableau croisé dynamique
    0
  18. atonservice
     
    noublie pasde cloturer le sujet SVP...
    0
  19. Benjamin
     
    Bonjour,
    Bonjour,
    Merci pour vos aides.

    Le tableau croisé dynamique ca va aps convenir a mon avis mais j'ai regler le probleme d'impression!
    0
  20. avotreservice Messages postés 5 Statut Membre
     
    eske la solution 18 te convient?
    0
  • 1
  • 2