|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 20 ![]() |
Bonjour,
J'ai un Userform sous Word 2007 qui me permet d'imprimer une trentaine de documents Word. Le problème est que j'utilise une imprimante réseau qui commence à imprimer après avoir reçu une dizaine de fichiers environ et imprime le tout en désordre. J'ai pensé à mettre une temporisation après l'envoi de chaque fichier du style "Application.wait" qui fonctione sous VBA-Excel. Pour Word, j'ai trouvé ce code que je n'arrive pas à faire fonctionner Code :
Cordialement, Cercle |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Je pense à utiliser DoEvents, qui donne temporairement la main au système d'exploitation.
Dans la boucle d'impression, utiliser le DoEvents juste après l'envoi vers l'imprimante.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 20 ![]() |
Merci, je teste lundi et je reviens.
Cordialement, Cercle |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Lundi, on va devoir attendre alors!
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 | |||||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 20 ![]() |
Bonjour les amis du VBA,
Merci beaucoup pour vos réponses. J'ai testé le DoEvents aini que la macro modifiée pour le Sleep. Ca ma permis de faire des tests et de constater que vos suggestions fonctionnent bien. Seulement voilà, je pensais qu'en donnant la main au système avec le DoEvents et en ralentissant la procédure avec le Sleep, cela libérerait le spool de l'imprimante. J'ai testé sur 2 pc et 3 imprimantes différentes et le résultat est désespérément le même; les impressions sortent dans le désordre. Ce que je n'arrive pas à comprendre, c'est que j'ai le même Userform sur excel et l'impression démarre immédiatement. J'ai cherché une solution partout sur le Web et comme personne ne rencontre le même problème, il faut croire que je n'ai pas de chance. S'il s'agit de chance... Je joins mon fichier en espérant que quelqu'un se prendra la tête à ma place. Pour ma part, je n'en peux plus.. Amicalement, Cercle |
|
|
00
|
|
|
#7 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Bonsoir Cercle,
Je passais par là par hasard... Pour ton pb, ajoute un DoEvents ici Code :
Je n'ai pas plus creusé. A+ |
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 20 ![]() |
Bonsoir les amis du VBA,
Merci pour les réponses. J'ai réglé le pb en convertissant les fichiers doc en pdf et en utilisant un Userform sur excel. J'aurais encore une question. Avec mes OptionButton, je lance chaque fois une macro différente alors qu'il n'y a que les fichiers à imprimer qui changent. J'ai essayé après le "For i = 1 to Nbre" de faire des call sub. Ca ne fonctionne pas. Est-il possible de raccourcir ce code. Merci d'avance à ceux qui voudront bien m'apporter leurs conseils. Cordialement, Cercle P.S. Je me rends bien compte que ce n'est pas le bon forum, mais bon, comme j'ai commencé ici |
|
|
00
|
|
|
#9 | ||||||||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Voilà le code que tu as pour chacune de tes procédures.
Code :
vDossier & "1.pdf", "", "", 1 Code :
Code :
.... Mais, je ne comprends as pourquoi tu fais une boucle pour l'impression ! Si tu utilises la méthode PrintOut, tu peux spécifier le nombre de copie que tu veux imprimer. Code :
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||||||||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 20 ![]() |
Bonsoir les amis du VBA,
"Bien heureux les hommes qui comme vous, possèdent les connaissances" Un grand merci à Heureux-oli et ouskel'n'or pour les réponses. J'ai fait les changements et ça fonctionne impec. En ce qui concerne la boucle, je l'ai fait par facilité. Mais maintenant, j'ai mis une variable et c'est mieux. Encore merci et A+ Cercle |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com