IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

imprimer formulaire mode paysage [Fait]


Sujet :

Contribuez

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut imprimer formulaire mode paysage
    bonjour bonjour,

    je suis en train de m'amuser comme un petit fou avec les joies de l'impression sous Access.

    Le formulaire que je veux imprimer est créé dynamiquement, imprimé et aussitôt supprimé tout aussi dynamiquement.
    J'ai trouvé sur la FAQ ce bout de code à ajouter pour définir le mode Paysage et jusque là ça marche! (ne faites pas attention au lettres dans le codes, je travaille en allemand...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{i}"
    SendKeys "{right}"
    SendKeys "%{f}"
    SendKeys "{enter}"
    Avant de sauvegarder mon formulaire j'insert le code ci-dessus et quand je regarde dans le menu/fichier/Mise en Page... j'ai bien le mode Paysage de selectionné.

    Ensuite je veux executer le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DoCmd.OpenForm "F_AFFICHAGE"
    DoCmd.SelectObject acForm, "F_AFFICHAGE", True
    DoCmd.PrintOut
    DoCmd.SelectObject acForm, Screen.ActiveForm.Name, False
    DoCmd.Close acForm, "F_AFFICHAGE"
    Et là... c'est le drame , Access me répond de 2 bips successifs (sans messages d'erreurs) et imprime en mode portait!

    Aurais-je raté quelques choses avec Printout? à ma connaissance, il n'est pas possible de définir le mode paysage directement dans Printout, donc je ne comprend pas pourquoi il y a conflit...

    Si vous avez une piste, je suis preneur

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    Bon j'ai trouvé une solution qui contourne le problème...
    Je continue avec les Sendkeys pour imprimer mon document, ce qui donne (attention, les lettres sont pour le Access en Allemand)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DoCmd.OpenForm "F_AFFICHAGE"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{i}"
    SendKeys "{right}"
    SendKeys "%{f}"
    SendKeys "{enter}"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{D}"
    SendKeys "{enter}"
    'DoCmd.Close acForm, "F_AFFICHAGE"
    Si quelqu'un a toutefois une piste plus VBA, je suis prenneur (je laisse le topic ouvert jusqu'à demain, après il serait "résolu"...


    EDIT:
    En fait j'ai anticipé. Ce code ci fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DoCmd.OpenForm "F_AFFICHAGE"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{i}"
    SendKeys "{right}"
    SendKeys "%{f}"
    SendKeys "{enter}"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{D}"
    SendKeys "{enter}"
    et si je rajoute cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acForm, "F_AFFICHAGE"
    ce n'est pas le formulaire créé dynamiquement qui s'imprime, mais celui où est le bouton qui lance le code... j'ai beau chercher à utiliser Doevents, ça ne change rien... ce n'est en fait pas une question d'impression mais de vitesse d'execution de mon code!

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    tu as essayé sur ton report.orientation=landscape
    Elle est pas belle la vie ?

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    hum... là je sèche. Je ne pense pas que ta solution puisse être utilisée dans mon cas car j'imprime bien un formulaire et non un état

    Enfin j'ai beau me demander où je pourrais placer ton bout de code, je ne vois pas.

    Mais sinon j'ai trouvé une solution assez radicale avec Doevents (il suffisait que je le place au bon endroit!)

    Ma solution donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DoCmd.OpenForm "F_AFFICHAGE"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{i}"
    SendKeys "{right}"
    SendKeys "%{f}"
    SendKeys "{enter}"
    SendKeys "{f10}"
    SendKeys "{D}"
    SendKeys "{D}"
    SendKeys "{enter}"
    DoEvents
    DoCmd.Close acForm, "F_AFFICHAGE"
    Le seul petit désavantage est aue l'utilisateur peut croire qu'on manipule son ordi car il a le temps de bien voir toutes les fenêtres s'ouvrir

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub CmbImprim_Click()
     
    Frmcherche.Printer.Orientation = acPRORLandscape 
    Frmcherche.PrintForm
     
    End Sub
    Bonne chance.
    Merci.
    Deux, n'apprendront pas; le timide et l'arrogant

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    hum, merci pour l'info, mais j'ai encore un dernier soucis, pour remplacer ton "Frmcherche", j'ai essayé:
    - Forms("F_AFFICHAGE")
    - Form("F_AFFICHAGE")
    Mais j'ai un message d'erreur aui me dit qu'il y a une erreur dans la déclaration...

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    c'est le nom de votre formulaire ou utilisez Me.
    le code que je vous ai donné je l'ai trouver sur un site et puisque je n'ai pas d'imprimante, ACCESS provoque quelque fois des problèmes de ce genre.
    Bonne chance.
    Merci.
    Deux, n'apprendront pas; le timide et l'arrogant

  8. #8
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    je vais essayer ça dimanche

    J'ai essayé, ou essayé de comprendre plutôt, car mes tests ont été vains... , mais ce n'est pas trop grave, ça fontionne avec les sendkeys, donc je vais en rester là je pense, je me pencherais sur le probleme du PrintForm plus tard
    Merci tout de meme!

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,je crois que si vous mettez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    docmd.printout
    eu lieu de me.printform
    sa marcherait peut être.
    Bonne chance.
    Merci.
    Deux, n'apprendront pas; le timide et l'arrogant

  10. #10
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    en passant l'objet printer n'existe que depuis access 2002...

  11. #11
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 158
    Points : 163
    Points
    163
    Par défaut
    @ Arkham: merci de l'info, mais j'ai une version supérieure

    @ hocine: merci, ça marche et ça va vite en plus!

    Je donne mon code tout de même pour ceux qui ont ou auront un soucis identique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DoCmd.OpenForm "F_AFFICHAGE"
    Forms("F_AFFICHAGE").Printer.Orientation = acPRORLandscape
    DoCmd.PrintOut
    DoCmd.Close acForm, "F_AFFICHAGE"

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut,
    Heureux,Content pour vous et pour moi.
    MERCI.
    Deux, n'apprendront pas; le timide et l'arrogant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. imprimer en mode paysage!
    Par cleo27 dans le forum Dépannage et Assistance
    Réponses: 1
    Dernier message: 29/06/2011, 09h58
  2. Comment imprimer en mode paysage ?
    Par Ehjoe dans le forum VB.NET
    Réponses: 5
    Dernier message: 14/04/2011, 12h14
  3. imprimer en mode paysage
    Par cpf2006 dans le forum Langage
    Réponses: 6
    Dernier message: 31/03/2010, 12h30
  4. imprimer en mode paysage?
    Par amarcil dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/04/2006, 09h31
  5. [Javascript] imprimer en mode paysage?
    Par amarcil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2006, 19h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo