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

Access Discussion :

Comment faire pour garder la meme marge quelques soit l'ordi


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Comment faire pour garder la meme marge quelques soit l'ordi
    Comment faire pour garder la meme marge quelques soit l'ordi ?

    Lorque j'imprime un état avec mon ordi ,
    j'obtient une mise en page différente sur un autre ordi,
    (il tourne sous acess 97 et moi 2003 ,mais je pense que ca n'a rien à voir)

    En fait je pense que c'est à cause des marge !!!

    En fait j'aimerais pouvoir configuré ses marges une fois pour toutes !

    J'ai été faire un tour sur la FAQ, mais rien se rapportant à mon pb.

    Pouver vous m'aider !

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux essayer de configurer tes états avec les propriétés PrtDevMode et PrtMip pour forcer les paramètres.

    Ton problème peut par exemple être à la source du fait que l'imprimante par défaut n'est pas la même, les marges s'adaptent en fonction de celle-ci.

    Argy

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Ton problème peut par exemple être à la source du fait que l'imprimante par défaut n'est pas la même, les marges s'adaptent en fonction de celle-ci.
    C'est la même imprimante par défaut, seul le logiciel change 2000 et 2003
    peut on configuré ses marges par défaut .

    Peut tu m'en dire un peut plus sur les propriétés PrtDevMode et PrtMip,
    ou je place le code , quel code agit sur les marges,

    sinon j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    un .TopMargin =  ( 1/567) cm * Marge(cm)
    ou dois je le placer ?

    Merci !

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bien, voici un exemple, à toi d'adapter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    ''' Le paramétrage de la propriété PrtMip est une structure de 28 octets _
        qui désigne les paramètres spécifiés sur l'onglet Marges pour un formulaire _
        ou un état dans la boîte de dialogue Mise en page.
     
    Private Type tyPRTMIP
        stringPRTMIP As String * 28
    End Type
     
    Private Type tyMARGIN
        LeftMargin As Long
        TopMargin As Long
        RightMargin As Long
        BottomMargin As Long
    End Type
    Private Sub DefineReportMargin(ByVal ReportName As String)
    Dim StructPRTMIP As tyPRTMIP
    Dim StructMargin As tyMARGIN
    Dim oRpt As Report
    Dim sngDefaultMargin As Single
     
      sngDefaultMargin = 1 * 1440 '2,54 cm
     
      DoCmd.OpenReport ReportName, acDesign
      Set oRpt = Reports(ReportName)
      StructPRTMIP.stringPRTMIP = oRpt.PrtMip
      LSet StructMargin = StructPRTMIP
      StructMargin.LeftMargin = sngDefaultMargin
      StructMargin.TopMargin = sngDefaultMargin
      StructMargin.RightMargin = sngDefaultMargin
      StructMargin.BottomMargin = sngDefaultMargin
      LSet StructPRTMIP = StructMargin
      oRpt.PrtMip = StructPRTMIP.stringPRTMIP
      DoCmd.Close acReport, ReportName, acSaveYes
    End Sub
     
    Sub PrintMyReport()
    Dim strMyReport As String
     
      strMyReport = "rptFacture"
      DefineReportMargin strMyReport
      DoEvents
      DoCmd.OpenReport strMyReport, acViewPreview
    End Sub
    Tu colles cela dans un module et tu peux le lancer en boucle pour tous tes états ou le lancer seulement au moment de l'impression pour un état donné...

    Argy

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Merci pour tout ca ma bien aider !
    J'ai essayé ce que tu m'as dit de faire mais ca à l'air d'etre plus lourd (lent ) à l'exécution

    En tatônant, j'ai trouver un truc simple alors pour ceux que ca intéresse qui veulent juste modifier des marges, voici le code a tapé après l'ouverture de l'état ici E_Dossiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Reports("E_Dossiers").Printer.TopMargin = 1*567
    Reports("E_Dossiers").Printer.BottomMargin = 1*567
    Reports("E_Dossiers").Printer.LeftMargin = 1*567
    Reports("E_Dossiers").Printer.RightMargin = 1*567
    Les Marges sont définies en twip, qui vaut 1/567 centimetre d'ou la multiplication par 567 !

    Cordialement.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/01/2011, 11h58
  2. [XL-2007] Comment faire pour que 2010-01-01 ne soit pas converti en date
    Par pierrot10 dans le forum Excel
    Réponses: 4
    Dernier message: 09/04/2010, 14h46
  3. Réponses: 1
    Dernier message: 29/09/2009, 15h00
  4. comment faire pour garder la couleur du fond ?
    Par Mapokko dans le forum Excel
    Réponses: 4
    Dernier message: 28/12/2008, 22h08
  5. [c#] comment faire pour garder des noeuds ouverts treeview?
    Par irnbru dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/11/2005, 00h47

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