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

Macros et VBA Excel Discussion :

Imprimer une zone à partir d'une USERFORM [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut Imprimer une zone à partir d'une USERFORM
    Bonjour à tous,

    Je me permets de vous déranger puisque j'ai un petit soucis, j'ai quasiment terminé l'application que j'étais en train de développer mais je bloque encore sur un petit truc super embêtant. J'ai beau regarder sur le net depuis hier je ne trouve aucune solution à mon problème...

    je souhaiterai imprimer deux page dans mon fichier excel hors deux zone bien distincte la page 1 serai : de la cellule A1 à F39.

    La deuxième page serai de la cellule H1 à T22...


    Pour l'instant j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Imprimer_Click()
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
    End Sub


    Pouvez-vous me venir en aide s'il vous plait j'en ai marre c'est le dernier truc qui me bloque pour terminer totalement mon projet

    Merci d'avance cordialement Miska

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Pour trouver le code, à imprimer utilises l'enregistreur de macro et :
    - selectionne la zone
    - Puis Fichier / zone d'impression / Définir

    ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Par défaut Voici ma solution (qui fonctionne)
    Bonjour à Vous, MISKA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub CommandButton1_Click()
     
        ActiveSheet.PageSetup.PrintArea = "$A$1:$F$39"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
     
        ActiveSheet.PageSetup.PrintArea = "$H$1:$T$22"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
     
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    Merci pour vos réponses si rapide je viens d'essayé ta méthode momone18 mais le problème c'est que la deuxième zone d'impression contient un graphique et quelque cellule excel, Or avec ce bout de code, il n'y a que le graphique qui apparait sans les autres cellules et en plus il est couper :/

    Comment puis régler cela ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Par défaut message de momone18
    Même s'il y un graphique en page 2, cela fonctionne.
    il suffit de que le graphique appartienne à la zone $H1:$T22
    j'ai essayé et vérifié !
    Salutations et à Bientôt

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    Merci pour l'info mais le graphique est sur une deuxième page, Malheureusement lorsque je souhaite lancer une impression, sur la deuxième page j'ai mon graphique et en dessous dans d'autre cellules de la page. Il m'affiche le graphique (couper) et ne m'affiche pas les cellules :/

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    Bon je viens de réaliser un nouveau test, ça fonctionne ne me demandé pas à quoi cela était du, je n'en sais strictement rien :/, Par contre je voudrai savoir une dernière chose, comment puis-je centrer mes informations ? car la ça colle la marge de droite :/

  8. #8
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Fichier, Mise en page, onglet Marges, cocher centrer sur la page les options voulues ?

    cordialement,

    Didier

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    merci de ta réponse Didier ça me paraissais tellement évident que je ne l'avais pas fait.. par contre ça ne me prend plus que mon graphique j'ai encore un problème pas rapport à ça ..

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    bon tampis je vais marqué Résolu car je sais plus quoi faire et je pense que ça va pas être résolu comme ça je comprend pas et j'ai un autre gros problème a résoudre avant...

    En tous car merci à tous pour vos réactions c'est cool

    cordialement miska

  11. #11
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Avec ton contexte, utilises l'enregistreur de macro, il te donnera les commandes voulues et tu nettoies après...

    genre brut de fonderie :

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    Sub Macro1()
     
        With ActiveSheet.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        End With
     
       ActiveSheet.PageSetup.PrintArea = "$A$1:$F$39"
        With ActiveSheet.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = ""
            .CenterFooter = ""
            .RightFooter = ""
            .LeftMargin = Application.InchesToPoints(0.78740157480315)
            .RightMargin = Application.InchesToPoints(0.78740157480315)
            .TopMargin = Application.InchesToPoints(0.984251968503937)
            .BottomMargin = Application.InchesToPoints(0.984251968503937)
            .HeaderMargin = Application.InchesToPoints(0.511811023622047)
            .FooterMargin = Application.InchesToPoints(0.511811023622047)
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .PrintQuality = 600
            .CenterHorizontally = True
            .CenterVertically = False
            .Orientation = xlPortrait
            .Draft = False
            .PaperSize = xlPaperA4
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            .Zoom = 100
            .PrintErrors = xlPrintErrorsDisplayed
        End With
         ActiveWindow.SelectedSheets.PrintOut
    End Sub
    Sub Macro2()
     
        With ActiveSheet.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        End With
        ActiveSheet.PageSetup.PrintArea = "$H$1:$T$22"
        With ActiveSheet.PageSetup
            .LeftHeader = ""
            .CenterHeader = ""
            .RightHeader = ""
            .LeftFooter = ""
            .CenterFooter = ""
            .RightFooter = ""
            .LeftMargin = Application.InchesToPoints(0.78740157480315)
            .RightMargin = Application.InchesToPoints(0.78740157480315)
            .TopMargin = Application.InchesToPoints(0.984251968503937)
            .BottomMargin = Application.InchesToPoints(0.984251968503937)
            .HeaderMargin = Application.InchesToPoints(0.511811023622047)
            .FooterMargin = Application.InchesToPoints(0.511811023622047)
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .PrintQuality = 600
            .CenterHorizontally = True
            .CenterVertically = False
            .Orientation = xlLandscape
            .Draft = False
            .PaperSize = xlPaperA4
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
            .PrintErrors = xlPrintErrorsDisplayed
        End With
         ActiveWindow.SelectedSheets.PrintOut
    End Sub
    cordialement,

    Didier

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    Merci Didier, si ça replante, j'essaierai ta méthode , mais là j'en ai trouvé une autre qui n'est peu être pas très éthique mais bon ça fonctionne. J'ai juste rajouté un pied de page et ça fonctionne comme je le souhaite à présent

    Merci beaucoup à tous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2011, 20h06
  2. Réponses: 3
    Dernier message: 07/04/2011, 14h38
  3. [AC-2007] Executer une requête à partir d'une zone de texte
    Par keuthi dans le forum VBA Access
    Réponses: 9
    Dernier message: 06/07/2010, 16h21
  4. Réponses: 3
    Dernier message: 29/06/2007, 15h29
  5. Maj d'une table à partir d'une zone de liste
    Par farios dans le forum Access
    Réponses: 2
    Dernier message: 13/02/2007, 10h24

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