|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Bonjour à tous,
Pour éviter les alertes de marges à chaque section et après avoir constaté que modifier les marges ne change rien hormis "mettre en vrac" mon document, j'utilise le script suivant : Code :
Je souhaiterais que Word me demande quelles pages sont à imprimer : - toutes - pages 1 sur 5 - page 1;2;3;4 Malgré toute ma bonne volonté, je ne trouve pas de solution adéquate. Quelqu'un pourrait-il m'aider? Merci Thomas |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
C'est normal, si tu ne passes pas d'argument à la méthode .PrintOut, toutes les pages sont imprimées. Tu peux passer le paramètre Pages. La valeur de ce paramètre est un String 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 ! |
||
|
|
20
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Merci pour ta réponse Heureux-Oli,
En fait, je n'ai pas précisé que je n'imprime jamais les même pages du document. Ta solution marche très bien mais je dois modifier les pages à imprimer à chaque impression et en ouvrant le script chaque fois. D'où mon souhait de créer un invite de commande dans le script. Mais là c'est peut être trop en demander à word Bon week end Thomas |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Ça, j'avais compris. Les pages que je donne sont juste un exemple. C'est à toi de gérer les pages souhaitées avec un UserForm ou un InputBox. Et on passe le résultat en argument.
__________________
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 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Merci de ta réponse,
Je viens d'essayer dans Visual Basic de créer un userForm, Niveau esthétique c'est pas mal, par contre niveau code c'est pas gagné. Là, j'ai vraiment besoin d'aide pour associer l'userForm à la macro et fermer automatiquement l'userForm après avoir appuyer sur "Imprimer" http://www.hostingpics.net/viewer.ph...13Image000.png Si il y en a qui travaillent le 11 novembre... exemple bien venu bon week end, Thomas |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Avec ton UserForm, tu proposes trois choix. Tout, En cours ou Certaines pages. La première chose est donc une procédure décisionnelle. Pour éviter un choix multiple, je pense que tu devrais avoir trois cases à cocher et un effet bouton radio sur ces trois cases. En fonction du choix, on passe l'un ou l'autre paramètre.
__________________
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
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Merci Heureux Oli,
Je comprend ce que tu veux dire : lorsque je coche une case à cocher ça validerat le bouton radio. Par contre, aurais tu un exemple car je ne suis pas capable de réaliser ces associations. J'ai déjà mis la matinée pour créer le formulaire Si je savais par quel bout l'attraper... lol Merci |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Ça devrait ressembler à ça.
__________________
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 ! |
|
|
10
|
|
|
#9 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Merci beaucoup pour ton exemple Heureux Oli,
J'ai appris plein de chose avec ton code. J’espère que tous les "forumeur" ne sont pas tous aussi débutant que moi. Deux points encore : La macro suivante ouvre bien l' UserForm mais n'imprime pas. Code :
Alors j'ai tenté des manipulations diverses, Ne te moque pas svp Code :
Merci, et re merci pour répondre un 11 novembre, 11/11/11 |
||||
|
|
00
|
|
|
#10 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Pour un UserForm, il y a plein de choses possibles. La première est d'y mettre des contrôles, par contrôles, on entend des zones de texte, des cases à cocher, des boutons, ... Chaque objet déposé sur un userform réagit à des évènements comme le clic, le double-clic, ... Dans le code on sait qu'il s'agit d'un évènement lorsque le nom du contrôle est suivi d'un évènement. va être appelé lorsque je vais cliquer sur mon bouton Si je met Mon code sera exécuté lorsque je vais cliquer sur mon UserForm. Mais pas sur un controle comme mon bouton. Dans le code que j'avais mis dans le UserForm, on obtiens le résultat des boutons d'options en cliquant sur le bouton. 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 ! |
||
|
|
10
|
|
|
#11 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Le 11 novembre et de nuit !
Nous sommes au moins 2 ce soir devant un ordi. En voilà un bout : Code :
Récupérer la variable... |
||
|
|
00
|
|
|
#12 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Bon je cale !
Pour l'option 3 je comprend le principe mais je ne trouve pas la bonne syntaxe : Code :
|
||
|
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Je ne trouve vraiment pas, quelqu'un a une idée?
Merci Thomas |
|
|
00
|
|
|
#14 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Pas besoin de répéter tout le code à chaque fois. Voilà à quoi devrait ressembler ton code : 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 ! |
||
|
|
10
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Salut voisin européen,
Je rêverai d'aller à Bruges, c'est parait-il superbe. Peut-être à noël... j'espère, Pour le code, Je te remercie du temps que tu me consacre et de l'aide que tu m'apporte, C'est extrêmement gentil de ta part. Lorsque je lance le script, j'ai une erreur sur l'option 3 : "erreur d'execution '13' incompatibilité de type Si je clic sur débogage : "Application.PrintOut Pages:=Me.txtPages" est surligné en jaune. Par ailleurs, j'ai testé, dans les propriété du "OptionButton3" de mettre value "true" pour que la case soit cochée par défault. Malheureusement ça bloque la case du dessous : "pages" Enfin, y a t il un moyen pour que l'user Form se ferme tout seul aprés avoir cliqué sur OK "CommandButton1" ? Merci, Bon aprés midi, Thomas |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Incompatibilité, c'est que la valeur contenue dans le contrôle n'est pas interprétée comme du texte. Il faut donc convertir la valeur en text. Une solution serait de concaténer un " devant et derrière.
__________________
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 ! |
|
|
10
|
|
|
#17 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Salut Heureux,
Désolé mais ça ne marche toujours pas, ça imprime le document en entier Code :
Merci |
||
|
|
00
|
|
|
#18 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Ce 34 est pour avoir un " qui est interprété par le code comme l'ouverture d'une valeur de type chaîne ou string. sera un texte avec trois caractères 2, 5 et 6 Alors que on aura au contraire un nombre. Pour le code que j'ai donné, il manque un argument et pour contrer l'incompatibilité de type, je passe par une variable texte. 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 ! |
||
|
|
10
|
|
|
#19 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2011 Messages : 60 ![]() |
Génial !
Merci beaucoup, C'est trop passionnant ! Écris tu des livres spécialisés en VBA pour apprendre les bases? Ou en connais tu un de bien écrit pour partir de zéro? Pour le code : Code :
Je souhaiterais que l'optionbutton3 soit activé par défaut et que le curseur soit automatiquement placé dans le "txtPages" Est-ce possible? Merci, Thomas ps : J'aime bien comment tu m'aide, Tu ne me donne pas la réponse "toute faite", ça me fait apprendre et réfléchir, c'est top, Félicitation ! re ps : tu as vu? j'ai trouvé tout seul le fonction "unload me" et comment créer un signet, tout sélectionner, enlever le surlignage puis revenir au signet !! |
||
|
|
00
|
|
|
#20 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Pour que l'OptionBouton3 soit actif par défaut, il faut simplement mettre sa valeur par défaut à True dans les propriétés. Pour que le curseur soit dans la case txtPages, il suffit lors du chargement du formulaire de mettre dans le code Me.txtPages.SetFocus Code :
Mais sur la rubrique Word, les rubriques Office et sur mon espace Perso, tu trouveras des tutos sur le VBA.
__________________
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 ! |
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com