|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() |
Salut à tous,
J'ai trouvé il y a peu la réponse à l'une de mes grandes questions : "Comment faire pour qu'Access conserve des marges spécifiques à un état" En effet, Il arrive fréquemment, lorsque l'on crée des états, d'être obligé de modifier la mise en page (marges ou orientation) pour des questions de place ou de positionnement (impression d'étiquettes par exemple)... Et, un beau jour, Access décide de remettre les paramètres par défaut. Certes, je n'ai pas trouvé ce qui déclenche cette réinitialisation mais j'ai au moins trouvé le moyen de se débarrasser du problème: Allez dans le menu Outils/Options Dans l'onglet Général, décochez la case Suivi informations correction automatique. Quant au rapport entre cette case et la mise en page de l'état, j'aimerais avoir l'avis d'un spécialiste... |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : août 2005 Messages : 102 ![]() |
Malheureusement je ne trouve pas cette option dans Access 97...
C'est bien dommage parce que ce problème m'a forcée à remplacer tous mes boutons d'impression automatique par des aperçus avant impression, pour que le client puisse vérifier qu'il ne va pas imprimer une page blanche pour chaque page intéressante, juste à cause d'une marge trop large... |
|
|
00
|
|
|
#3 | ||
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 479 ![]() |
Citation:
Citation:
A+ |
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 5 ![]() |
J'ai décoché la case Suivi informations correction automatique.
J'ai copié l'application sur une autre machine et malheureusement j'ai perdu les marges des états(j'en ai 24). Je travaille sous access 2007. |
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
Bonjour, Dembasba,
c'est très regrettable, mais "normal", je pense. Sans être sûr à 100%, j'ai cru comprendre que, lorsqu'on change d'imprimante (genre : livraison du développeur aux utilisateurs), Access remet les marges par défaut et/ou essaie d'adapter les marges à la nouvelle imprimante, ce qui s'avère généralement catastrophique. La solution de Marot_r est très bonne : une macro à lancer avant chaque état. La mienne est + lourde à mettre en oeuvre la 1ère fois, mais très simple dans les applications suivantes : - une table des états, - pour chaque état, dans la table : orientation et marges, - au démarrage, contrôle et mise au point de chaque état (quelques secondes). Gretch_34, Citation:
|
|
|
|
00
|
|
|
#6 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 479 ![]() |
Bonne idée, Papy Turbo, la table avec les paramètres.
As-tu du code associé ou tu fais cela à la main ? Si tu as du code, accepterais-tu le poster ? A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Etienne PailleretDéveloppeur VBA Inscription : mars 2004 Messages : 748 ![]() |
Bonjour, Marot_r
Nouveau dans l'équipe Office ? Welcome :o) Oui, j'ai pris du temps avant de te répondre (j'aurais dû le faire avant de répondre à ce message), pour voir comment j'avais fait ça. Ça fait partie d'une usine à gaz que j'avais mise au point pour Access 2000, avec un collection de Printers, une classe Printer (équivalents de Printers + printer sous Axs 2003 + toutes autres propriétés dispo dans PrtDevmode et autres), une classe flReport (états avec propriétés extraites, entre autres, de PrtMips -> marges/orientation...) Bref, des APIs pas 100% stables, ce qui fait que j'ai évité de m'en servir. Faudra voir si je peux en extraire juste un noyau simple pour faire ça, mais (pas testé), il y a sûrement un moyen beaucoup + rapide avec Axs 2003 et suivants ? Pour l'instant, je t'encouragerais plutôt à publier ta macro qui sera sûrement + simple et + efficace ? |
|
|
00
|
|
|
#8 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 479 ![]() |
Bonjour à toi, Papy Turbo.
Simple, stable, dépendant de la langue et pas très rapide. J'ai fait cela il y a longtemp :-( et je n'ai pas gardé le code. En gros c'est une série de SendKey qui activent les options du menu de mise en pas du genre [Alt][F] pour ouvrir le menu des fichiers, [Alt][I] pour imprimer etc. Il faut inventorier la séquence de touche à la main et apparement cela ne marche que dans une macro. Je n'avais pas réussi à le faire en VBA. C'est un peu pour cela que j'étais interressé par ta solution :-). Les DoCmd.RunCommand permmettent peut-être de faire cela plus proprement mais je n'ai pas eu l'occasion d'en avoir rebesoin et donc d'approfondir le sujet. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() |
Bonjour,
Mince, je pensais trouver ici une idée pour répondre à un de mes cauchemars lorsqu'on distribue une application Access. L'application que nous déployons fait appel à deux imprimantes. Une pour imprimer des étiquettes. L'autre pour les rapports. Bien évidemment, les imprimantes ne sont pas toutes pareilles et chez nous, et chez nos clients. Ni même d'un poste de travail à l'autre chez un même client. Si définir une imprimante liée à un pc en particulier ne pose pas de problème, la perte des marges nous oblige très fréquemment à intervenir chez les clients pour reconfigurer entre-autres, les rapports qui doivent être imprimés en mode paysage, et les états qui donnent lieu aux étiquettes pour en régler les marges. Un bout de code me donnant une idée pour régler ce problème de façon définitive m'aurait bien aidé. J'ai déjà programmé pas mal de tentatives de solution, notamment en utilisant la FAQ du site pour régler les imprimantes à utiliser temporairement, mais ce problème de marge persiste et me hante. Dommage. |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() |
En fait, décocher la case pour le suivi des corrections auto fonctionne peut-être pour les imprimantes par défaut. Mais lorsqu'il s'agit d'une imprimante spécifique, même avec l'option décochée, mes marges et mon orientation sont perdues.
|
|
|
00
|
|
|
#11 | ||||||||||
|
Membre éprouvé
![]() Robert LINCEConseiller psycho-pédagogique Inscription : octobre 2007 Messages : 281 ![]() |
Bonjour.
J'ai été aussi confronté à ce problème de marges et d'orientation sur des applications tournant sous Access 2000 et dont je ne peux contrôler la version d'access et de jet qui est installée, et avec diverses imprimantes. J'ai il y a longtemps, et je n'ai plus la source, déniché une méthode permettant de résoudre le problème, mais avec l'inconvénient de passer par une ouverture de l'état en mode création. D'où impossibilité de l'utiliser dans des bases mde (ou accde). Cette méthode pourrait peut-être être utile à quelqu'un, c'est pourquoi je la propose à vos avis éclairés! Un module « Impressions » qui gère toutes les impressions. Dans les Déclarations : Code :
Code :
Code :
Code :
Lorsque l’on lance une impression, on applique la fonction qui convient à l’état qu’on imprime. Code :
|
||||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com