MACRO EXCEL impression classeur entier / feuilles précises

MACRO EXCEL impression classeur entier / feuilles précises - Logiciels - Windows & Software

Marsh Posté le 05-11-2008 à 22:08:16    

Bonjour à tous,  
 
J'ai besoin de vos services dans le cadre du reporting commercial que je suis en train de concevoir. Dans ce reporting,  
1- des macros permettront d'imprimer une série de feuilles sélectionnées d'une part (ex: feuilles 1 à 8)
2- d'autres lançeront une impression du classeur entier (cad ttes les feuilles)
 
Pour les feuilles sélectionnées,voici la macro que j'ai mise : (mais ça ne marche pas)
 
Sub ImprAngers()  
 
    Sheets("Feuill1" ).Select
    Sheets("Feuill2" ).Select
    Sheets("Feuill3" ).Select
    Sheets("Feuill4" ).Select
    Sheets("Feuill5" ).Select
    Sheets("Feuill6" ).Select
    Sheets("Feuill7" ).Select
    Sheets("Feuill8" ).Select
     
    Selection.PrintOut Copies:=1, Collate:=True
    Range("C21" ).Select
End Sub
 
Cependant, je ne veux pas utiliser l'enregistreur de macros ...
 
QQun pour relever le challenge ?  
 
Merci
 
Moinschergratuit

Reply

Marsh Posté le 05-11-2008 à 22:08:16   

Reply

Marsh Posté le 05-11-2008 à 23:43:24    

moinschergratuit a écrit :

Bonjour à tous,  
 
J'ai besoin de vos services dans le cadre du reporting commercial que je suis en train de concevoir. Dans ce reporting,  
1- des macros permettront d'imprimer une série de feuilles sélectionnées d'une part (ex: feuilles 1 à 8)
2- d'autres lançeront une impression du classeur entier (cad ttes les feuilles)
 
Pour les feuilles sélectionnées,voici la macro que j'ai mise : (mais ça ne marche pas)
 
Sub ImprAngers()  
 
    Sheets("Feuill1" ).Select
    Sheets("Feuill2" ).Select
    Sheets("Feuill3" ).Select
    Sheets("Feuill4" ).Select
    Sheets("Feuill5" ).Select
    Sheets("Feuill6" ).Select
    Sheets("Feuill7" ).Select
    Sheets("Feuill8" ).Select
     
    Selection.PrintOut Copies:=1, Collate:=True
    Range("C21" ).Select
End Sub
 
Cependant, je ne veux pas utiliser l'enregistreur de macros ...
 
QQun pour relever le challenge ?  
 
Merci
 
Moinschergratuit


 
Nobody ?  

Reply

Marsh Posté le 06-11-2008 à 07:49:29    

moinschergratuit a écrit :

Bonjour à tous,  
 
Pour les feuilles sélectionnées,voici la macro que j'ai mise : (mais ça ne marche pas)
 
Sub ImprAngers()  
 
    Sheets("Feuill1" ).Select
    Sheets("Feuill2" ).Select
    Sheets("Feuill3" ).Select
    Sheets("Feuill4" ).Select
    Sheets("Feuill5" ).Select
    Sheets("Feuill6" ).Select
    Sheets("Feuill7" ).Select
    Sheets("Feuill8" ).Select
     
    Cependant, je ne veux pas utiliser l'enregistreur de macros ...
 


 
Pas vraiment le temps d'approfondir mais déjà avant de dire que tu ne veux pas utiliser l'enregistreur, mais celui-ci te démontrerait que tu fais une faute: ce n'est pas Feuill mais Feuil.Ensuite,  
 Sheets("Feuill1" ).Select
    Sheets("Feuill2" ).Select
    Sheets("Feuill3" ).Select
    Sheets("Feuill4" ).Select
    Sheets("Feuill5" ).Select
    Sheets("Feuill6" ).Select
    Sheets("Feuill7" ).Select
    Sheets("Feuill8" ).Select
n'a pas vraiment de sens même pour quelqu'un n'y connait rien en macro.En effet, avec un minimum de réflexion, tu dis "sélectionner la feuille 1", ensuite la feuille 2...Tes feuilles seront bien sélectionnées mais une sélection chasse l'autre.Autrement dit, tu ne peux pas sélectionner toutes les feuilles en même temps avec cette macro.Tu peux le constater mamnuellement: pour enregistrer plusieurs feuillles en même temps, il faut utiliser Ctrl.
 
 


Message édité par TAM136 le 06-11-2008 à 07:51:20
Reply

Marsh Posté le 06-11-2008 à 10:04:03    

1. utilise l'enregistreur de macro (je vois pas pourquoi tu veux pas l'utiliser, c'est stupide)
2. sélection / impression / sélection / impression (cf. remarque ci dessus)

Reply

Marsh Posté le 06-11-2008 à 16:04:31    

Ptit loup a écrit :

1. utilise l'enregistreur de macro (je vois pas pourquoi tu veux pas l'utiliser, c'est stupide)
2. sélection / impression / sélection / impression (cf. remarque ci dessus)


 
Oulala ! Excusez mon ignorance ! La nuit portant conseil, je me permets de revenir vers vous et tente de surpasser ma stupidité pour pouvoir échanger avec vous .
 
Je ne voulais tout simplement pas utiliser l'enregistreur de macro puisque ça me faisait lancer une impression (+ de 1000 pages) que je ne pouvais stopper avec l'imprimante...  
Peu importe, voici les modifications que j'ai apporté avec votre aide précieuse. Néanmoins, il doit manquer quelque chose puisque ça ne m'imprime que les 10 premières ligne de chaque feuille...
 
Sheets("Côté Sarthe" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
 
    Sheets("feuil1" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
     
    Sheets("feuil2" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
 
 
    Sheets("feuil3" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
 
    Sheets("feuil4" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
     
    Sheets("feuil5" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
     
    Sheets("feuil6" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
     
    Sheets("feuil7" ).Select
    Selection.PrintOut Copies:=1, Collate:=True
     
    Selection.PrintOut Copies:=1, Collate:=True
   
    Sheets("Acceuil" ).Select
End Sub
 
Merci d'avance pour votre réponse  
 
Cdt  

Reply

Marsh Posté le 06-11-2008 à 16:11:06    

Ca ne signifie pas forcément lancer une impression, tu peux très bien les mettre en attente... il suffit pour ça d'aller dans les propriétés de l'imprimante, et de suspendre tes impressions... rien de très sorcier, ne crois tu pas ?
 
Au pire, tu peux aussi débrancher ton cable réseau...
 
Tu peux aussi tester ça en faisant l'enregistrement de ta macro sur une page toute simple.. ce qui ne gacherait qu'une seule feuille (que tu peux réutiliser en brouillon, où ça peut aussi être une feuille que tu as besoin d'imprimer).
 
Je pense qu'il faudrait plutôt utiliser la fonction "activate" que "select"... ce n'est pas une "sélection réelle" que tu veux faire, mais bien te positionner sur ta feuille avant de lancer une impression.
 
Le copies=1 et collate = true sont inutiles...
utilises un simple "ActiveSheet.PrintOut" pour imprimer ta page active.

Reply

Marsh Posté le 06-11-2008 à 16:25:24    

Ptit loup a écrit :

Ca ne signifie pas forcément lancer une impression, tu peux très bien les mettre en attente... il suffit pour ça d'aller dans les propriétés de l'imprimante, et de suspendre tes impressions... rien de très sorcier, ne crois tu pas ?
 
Au pire, tu peux aussi débrancher ton cable réseau...
 
Tu peux aussi tester ça en faisant l'enregistrement de ta macro sur une page toute simple.. ce qui ne gacherait qu'une seule feuille (que tu peux réutiliser en brouillon, où ça peut aussi être une feuille que tu as besoin d'imprimer).
 
Je pense qu'il faudrait plutôt utiliser la fonction "activate" que "select"... ce n'est pas une "sélection réelle" que tu veux faire, mais bien te positionner sur ta feuille avant de lancer une impression.
 
Le copies=1 et collate = true sont inutiles...
utilises un simple "ActiveSheet.PrintOut" pour imprimer ta page active.


 
Ok, un grand merci , je m'en suis sorti ça fonctionne ;-)
A bientôt
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed