|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour
Le code ci-dessous imprime toutes les feuilles du classeur sauf la première. Chaque onglet est calibré pour imprimer 2 feuilles A4. Et bien sur chaque feuille n'a que le recto d'imprimé. Le gestionnaire distribue ensuite 2 feuilles par onglet à chaque agent. Je souhaiterais donc en premier imprimer toutes les feuilles impaires, 1, 3, 5, 7, etc...puis une MSBOX demandant au gestionnairte: "Veuillez retourner les feuilles de l'imprimante pour imprimer en Verso" si "oui", imprime les feuilles 2, 4, 6, etc... si non, continue l'impression en cours dans l'ordre du dernier onglet et en remontant. Le but est d'utiliser chaque feuille A4 Recto Verso pour chaque onglet sachant que chaque onglet est différent des autres. Je ne sais pas si c'est possible, je n'ai jamais vu cette demande. Merci pour vos propositions Code :
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Philippe ex Observeur CGG / Analyste prog. Inscription : juin 2006 Messages : 1 706 ![]() |
Salut, une imprimante virtuelle style PDFCreator, Distiller ou autre et l'enregistreur de macros devraient t'apporter une réponse
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )Balisez votre code après l'avoir indenté sous Excel via Smart Indenter Autre utilitaire : MZ Tools 3.0 VBA Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 |
|
|
10
|
|
|
#3 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour kiki29
Il est impossible d'utiliser d'autres imprimantes que celles déjà en place dans l'entreprise, de plus tout est verrouillé par le gestionnaire informatique. Je sais utiliser l'enregistreur de macro, qui ne fonctionne pas pour des variables d'onglets, de plus il faut que celà fonctionne pour n'importe quelle imprimante déjà en place sur les différents sites. Merci
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() |
bonjour
si tout est bloqué a ton boulot tu n'a aucune chance d'arriver a ton but puisque la modification de l'imprimante est bloqué par la meme occasion au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
10
|
|
|
#5 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour patricktoulon
En effet tout est verrouillé pour éviter de faire n'importe quoi, et c'est pourquoi seul une macro peut résoudre ma demande, il faudrait imprimer page1 de 1, puis page3 de 3, puis page5 de 5, avec la variable count pour toutes feuilles, puis le message msbox, puis imprimer page dernière de dernière, et en remontant, sauf la sheet 1 qui ne doit jamais être imprimée. Ce code doit fonctionner pour différents classeurs avec la variable de x Sheets. Bon pour le moment tout fonctionne très bien et mon fichier fonctionne, c'était juste pour utiliser les feuilles recto verso. Cordialement
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() |
il est vrai que ta question n'est pas facile
cependant avec l'enregistreur de macro j'obtiens cela en impression directe: Code :
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
10
|
|
|
#7 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Merci patricktoulon
Oui avec l'enregistreur c'est réalisable, mais le plus compliqué est la variable x sheets qui demande de faire une boucle... A+
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() |
bonjour vadorblanc
oui de toute facon tu va etre obligé de passer par une boucle sur les sheets un truc du genre Code :
au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||
|
|
10
|
|
|
#9 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 256 ![]() |
Bonjour à tous les 2 (Et bonjour à la montagne VadorBlanc),
d'un point de vue conceptuel, ceci ne peut fonctionner sur une imprimante réseau multi utilisateurs et le risque de bourrage en impression verso n'est pas a négliger. Mais vu les contraintes, il n'y a peut-être pas d'autres solutions. ... et, last but not least, j' espère que le nombre de pages, la première omise, est toujours bien pair !! ![]() ------------------edit--- euh... au fait, ton imprimante ne peux pas gérer le recto-verso de manière normale ? (parametres depuis VBA)
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
10
|
|
|
#10 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour Godzestla
Mon projet à la fin demande à l'utilisateur d'appuyer sur un bouton pour imprimer toutes les sheets sauf la première sheet qui possède le bouton commande et la base de données et ceci personnalisé pour chaque site, ce qui imprime un certain nombre de sheets variables, mais toujours paramétré pour 2 feuilles A4 pour chaque sheets, donc toujours une feuille paire et une feuille impaire pour chacune des sheets pour une impression par semaine, l'utilisateur change le numéro de semaine, appuie sur le bouton impression, et distribue 2 feuilles par agents, la première feuille est datée du lundi au mercredi, la deuxième feuille du jeudi au samedi, avec le jour du mois, et il peut y avoir jusqu'à 50 agents par site, donc 100 feuilles A4. Chaque site possède une imprimante soit en réseau soit en série, les imprimantes sont différentes selon les sites. Nous sommes une entreprise moderne et qui se veut d'être un modèle de développement durable, j'essaie d'apporter des solutions en imaginant des process à la portée de tous, Excel est capable de choses extraordinaires par la programmation, et j'apprends en autodidacte, par plaisir sur mon temps libre chez moi, Patricktoulon me répond que c'est compliqué, je suis d'accord, mes difficultés sont toujours les boucles...et puis imprimer toutes les premières feuilles A4 de chaque sheets, puis les autres, et de façon que tout soit juste, je crois que j’ai un peu rêvé…
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 256 ![]() |
Bonjour Vadorblanc,
si j'en crois ceci Citation:
Si tu as des machines d'impression évoluées avec plusieurs bacs, une solution possible est de réserver un bac avec par exemple un type d epaier défini comme spécial pour tes impressions, sinon.... personnellement, je fuirais cette solution comme la peste.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
|
20
|
|
|
#12 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
Bjr,
Pas super, mais une idée quand même : Code :
Par contre on peut donner un tableau de pages à imprimer à PrintOut qui va lancer l'impression de chaque page du tableau (on pourrait lancer PrintOut plusieurs fois de suite, ça ferait la même chose). A tester donc, c'est juste une idée... Bon courage pour ta réduction de gachis de papier.
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
||
|
|
10
|
|
|
#13 |
|
Expert Confirmé
![]() |
bonjour
la méthode de arkham m'a l'air tout a fait correcte peut être un petit sleep entre les paires et impairs ou toutes les 20 pages de façon a pas faire serré l'imprimante bien sur ça fait un peu bricolé mais je ne vois pas d'autre solution au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
10
|
|
|
#14 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour Arkham46, patricktoulon, Godzestla
Je viens de lancer ton code sur mon imprimante chez moi. la page 1 de l'onglet 2 s'imprime = juste. Le code demande d'imprimer en verso, je tourne la feuille et je lance le code. La page 2 de l'onglet 2 s'imprime = juste La page 1 de l'onglet 3 s'imprime = juste La page 1 de l'onglet 3 s'imprime = faux car déjà imprimé Le code demande d'imprimer en verso, je tourne la feuille et je lance le code. La page 2 de l'onglet 3 s'imprime = juste La page 2 de l'onglet 3 s'imprime = faux car déjà imprimé Ensuite j'ai tout arrêté car je mange mes cartouches d'encre perso... Le constat, c'est une boucle magnifique avec un petit beug dont je suis incapable de corriger, ou alors par tatonnement, mais trop fastudieux pour l'utilisateur qui doit constamment ouvrir le tiroir, prendre la feuille, la retourner, fermer le tiroir, et lancer la validation du code (bouton). Mon idée de départ est de lancer toutes les impressions des premières pages de chaque onglets, de retourner toutes les feuilles imprimées, et de lancer la seconde impression pour le verso, et en croisant les doigts que tout soit juste. J'ai bien vu sur Word 2010 la possibilité d'imprimer les impairs ou les pairs, sur Excel 2010 il n'y a pas cette possibilité, et je suis obligé d'utiliser Excel 2003 car c'est celui que nous avons pour le moment sur toute la France. Je dois prendre un compte aussi la diversité des imprimantes et pour celà seul une programmation par Excel est possible par ce forum. En tout cas MERCI déjà pour l'intérêt et la pertinence de vos réponses. Cordialement.
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
|
|
#15 | ||
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
j'avais oublié de réinitialiser les variables pour chaque feuille excel j'ai ajouté : Code :
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
||
|
|
10
|
|
|
#16 |
|
Expert Confirmé
![]() |
bonjour
heu!... je comprend pas la!...au verso de la page 1 il devrais y etre la page 2 enfin je trouve ca plutot partatique pour la lecture donc si tu imprim les impair 1,3,5,7,9ect une fois fini tu remet le paquet de feuille a 'l'envers et impression de 10,8,6,4,2ect... tu devrais te retrouver avec la page 2 au verso de la page1 au plaisir t
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
10
|
|
|
#17 |
|
Membre émérite
![]() Inscription : février 2008 Messages : 266 ![]() |
Bonjour Arkham46, patricktoulon
Arkham46 Je viens de relancer ton code. la page 1 de l'onglet 2 s'imprime = juste. Le code demande d'imprimer en verso, je tourne la feuille et je lance le code. La page 2 de l'onglet 2 s'imprime = juste La page 1 de l'onglet 3 s'imprime = juste Le code demande d'imprimer en verso, je tourne la feuille et je lance le code. La page 2 de l'onglet 3 s'imprime = juste La page 1 de l'onglet 4 s'imprime = juste etc... jusqu'au dernier onglet Chapeau le code, c'est de l'art, je suis admiratif, ça marche. Bien cordialement à tous les deux et un grand Merci
__________________
! Quand tu es arrivé au sommet de la montagne, continue de grimper ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com